<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://crashcourse.ca/doku/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://crashcourse.ca/doku/feed.php">
        <title>Doku Wiki</title>
        <description></description>
        <link>https://crashcourse.ca/doku/</link>
        <image rdf:resource="https://crashcourse.ca/doku/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-05-06T11:11:19+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=4.1.21_phy_structures&amp;rev=1540657851&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=21st_century_c&amp;rev=1563288690&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=advanced_c_links&amp;rev=1516976647&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=advanced_git&amp;rev=1553859397&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=agl&amp;rev=1554745750&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=alloc_netdev_etherdev&amp;rev=1535443222&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=arm_kernel_panic&amp;rev=1543410165&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=aslr&amp;rev=1534602932&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=blockchain_pages&amp;rev=1526562379&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=c_11_data_types&amp;rev=1517150776&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=c_11_features&amp;rev=1517563388&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=c_11_keywords&amp;rev=1517137951&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=c_11_language_features&amp;rev=1517170384&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=c_begin_end&amp;rev=1517832955&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=c_casting&amp;rev=1517736267&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=c_coding_style_advice&amp;rev=1517834950&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=c_compilation_oddities&amp;rev=1517650319&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=c_data_types&amp;rev=1517835422&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=c_debugging&amp;rev=1517736535&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=c_enums&amp;rev=1517746535&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=c_exceptions&amp;rev=1517569372&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=c_iterators&amp;rev=1517833685&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=c_namespaces&amp;rev=1517496654&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=c_stl&amp;rev=1517735158&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=c_terminology&amp;rev=1517653099&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=c&amp;rev=1565699500&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=c11&amp;rev=1565011860&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=can_lin_buses&amp;rev=1560508676&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=cdk_on_fedora&amp;rev=1522872208&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=centos_package_management&amp;rev=1541686893&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=centos_pages&amp;rev=1570275646&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=centos8_containers&amp;rev=1570365154&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=cgroupsv2&amp;rev=1564327523&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=comparing_device_trees_with_dtx_diff&amp;rev=1542479635&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=console_loglevel&amp;rev=1542987208&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=container_security_book&amp;rev=1579383926&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=containers_on_fedora_30&amp;rev=1554279041&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=containers_on_fedora&amp;rev=1524337974&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=containers_podman_buildah&amp;rev=1580489282&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=debian_trixie_configuration&amp;rev=1756576292&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=device_tree_naming_conventions&amp;rev=1542470566&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=device_tree_node_requirements&amp;rev=1542553192&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=device_tree_standard_properties&amp;rev=1542549283&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=devm_ioremap_resource&amp;rev=1533038377&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=docker_initial_containers&amp;rev=1548332619&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=docker_installation_on_fedora&amp;rev=1548338481&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=docker_on_fedora&amp;rev=1522872350&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=docker&amp;rev=1570444135&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=dockerfiles&amp;rev=1578052683&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=dokuwiki_syntax&amp;rev=1747561247&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=f30_buildah&amp;rev=1554279820&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=f30_crio&amp;rev=1553958865&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=f30_linux_containers&amp;rev=1553353502&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=f30_podman&amp;rev=1554047721&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=fedora_30_on_dell_5810&amp;rev=1567090395&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=fedora_exfat_filesystem&amp;rev=1523641899&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=fedora_misc_pages&amp;rev=1567084221&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=fedora_releases_koji_bodhi&amp;rev=1566990291&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=fedora&amp;rev=1566502852&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=fossology&amp;rev=1574626800&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=fundamentals_of_container_technology&amp;rev=1553974808&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=gcc_extensions&amp;rev=1564059182&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=gdb&amp;rev=1564053873&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=gerrit_tutorial&amp;rev=1587491706&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=getting_started_with_virtualization_on_fedora&amp;rev=1562752772&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_add_rm&amp;rev=1552912172&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_adding_remotes&amp;rev=1552056360&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_advanced_topics&amp;rev=1510017588&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_aliases&amp;rev=1551100509&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_all_commands&amp;rev=1552907286&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_atlassian_content&amp;rev=1518351296&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_attributes&amp;rev=1552635924&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_bare_shallow_clones&amp;rev=1568890567&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_bisect&amp;rev=1551218061&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_blame&amp;rev=1551967498&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_clean&amp;rev=1551367550&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_clone_variations&amp;rev=1537184824&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_clone&amp;rev=1552732804&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_commit&amp;rev=1551357411&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_config&amp;rev=1550483863&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_count-objects&amp;rev=1551435275&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_dealing_with_remotes&amp;rev=1554339062&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_diff&amp;rev=1551441488&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_establishing_tracking_branches&amp;rev=1554342836&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_fedora_packages&amp;rev=1518612733&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_fetch_pull_push&amp;rev=1554348032&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_for_each_ref&amp;rev=1552071753&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_fsck&amp;rev=1552404110&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_gc&amp;rev=1551951985&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_github_workflow&amp;rev=1580144610&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_good_commits&amp;rev=1689663043&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_grep&amp;rev=1527427806&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_hooks&amp;rev=1550574618&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_ignore&amp;rev=1550859480&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_init&amp;rev=1550753876&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_install_from_source&amp;rev=1570048588&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_instaweb&amp;rev=1550928031&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_log&amp;rev=1552488742&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_merge&amp;rev=1552482544&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_move_uncommitted_changes_to_topic_branch&amp;rev=1552404044&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_mv&amp;rev=1552635568&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_plumbing_porcelain&amp;rev=1551447598&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_pruning&amp;rev=1554343188&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_rebase&amp;rev=1554586457&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_reflog&amp;rev=1552403101&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_remote_ls_remote&amp;rev=1552051659&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_remote_tracking_branches&amp;rev=1552038215&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_rev_list&amp;rev=1504861092&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_revert&amp;rev=1552481389&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_revisions&amp;rev=1552909535&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_searching&amp;rev=1550758628&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_sharing_objects&amp;rev=1552636561&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_shortlog&amp;rev=1552913111&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_show&amp;rev=1550996224&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_stash&amp;rev=1551208681&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_submodules&amp;rev=1551294850&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_subtree&amp;rev=1518541549&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_undoing_things&amp;rev=1551184365&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_whitespace&amp;rev=1551809702&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_workflow&amp;rev=1527145189&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_worktree&amp;rev=1551860641&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git_writing_an_arbitrary_blob&amp;rev=1749815808&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=git&amp;rev=1569956596&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=gnu_make&amp;rev=1570883644&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=go_env&amp;rev=1523379872&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=go_fedora_packages&amp;rev=1566035962&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=go_tour_notes&amp;rev=1523696241&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=go&amp;rev=1566725907&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=golangbot_tutorial&amp;rev=1566903146&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=hierarchical_device_files&amp;rev=1544533724&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=how_to_use_google_repo&amp;rev=1587467232&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=hyperledger_fabric_how_many&amp;rev=1526566300&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=hyperledger_on_fedora&amp;rev=1525173608&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=hyperledger_sawtooth&amp;rev=1521543575&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=i2c_ioctl_structures&amp;rev=1542805860&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=i2c_smbus&amp;rev=1542805751&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=ifreq_ethtool&amp;rev=1535871372&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=interrupts&amp;rev=1539947208&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=introduction_to_git&amp;rev=1537627683&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=ip_command&amp;rev=1534599993&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=ip_up_down&amp;rev=1538651394&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=ipp_up_and_iff_running&amp;rev=1535367784&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=irqchip&amp;rev=1539947387&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=jenkins_on_fedora&amp;rev=1566504612&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=kernel_topics&amp;rev=1554632112&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=kernel.exec-shield&amp;rev=1534603186&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=kernel&amp;rev=1564257261&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=kubernetes_github_workflow&amp;rev=1523197300&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=kubernetes_install_on_fedora&amp;rev=1523268906&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=kubernetes_on_fedora&amp;rev=1523183031&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=kubernetes&amp;rev=1523209432&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=linux_device_trees&amp;rev=1544533438&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=linux_expr_command&amp;rev=1568803490&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=linux_kernel_cleanup&amp;rev=1751461396&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=lk_usermodehelper&amp;rev=1550157494&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=logging&amp;rev=1534702416&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=lxc_on_fedora_28&amp;rev=1524339137&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=madieu_linux_device_drivers_development&amp;rev=1548244457&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=mcimx6q-sbc&amp;rev=1507142056&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=meta-xilinx_and_zcu102-zynqmp&amp;rev=1574411545&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=mii_and_mdio&amp;rev=1539083180&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=ndo_change_carrier&amp;rev=1533403876&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=net_device_attributes&amp;rev=1533135940&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=net_ioctl&amp;rev=1536057093&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=network_namespaces&amp;rev=1534695886&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=new_fedora_kernel&amp;rev=1560689555&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=oclug_dev_kits&amp;rev=1517945391&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=oe_yp_backfill&amp;rev=1586606777&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=oe_yp_new_tarballs.sh&amp;rev=1582297321&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=oe_yp_python3_recipes&amp;rev=1592327960&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=oe_yp_users_groups&amp;rev=1586629666&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=oe-pkgdata-util&amp;rev=1585318034&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=open_source_eda&amp;rev=1554712211&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=operstate&amp;rev=1535368057&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=panel_upgrade&amp;rev=1767188469&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=petalinux_2019.1_install_structure&amp;rev=1571490908&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=petalinux_2019.1&amp;rev=1575630646&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=petalinux_2019.2_install_structure&amp;rev=1573125139&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=petalinux_2019.2_issues&amp;rev=1574605356&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=petalinux_2019.2_zcu102_project_structure&amp;rev=1573129134&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=phy_link_update&amp;rev=1535457436&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=phy_mdio&amp;rev=1532543927&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=phy.h&amp;rev=1545922163&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=phy&amp;rev=1539003572&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=pocketbeagle&amp;rev=1538994807&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=podman&amp;rev=1580161309&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=posix_shell_getpots&amp;rev=1569845778&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=printing_debugging&amp;rev=1537882045&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=proper_device_tree_design&amp;rev=1542538014&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=pulsar_linux&amp;rev=1529866377&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=python_file_hierarchy&amp;rev=1592411796&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=python&amp;rev=1592404817&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=readme&amp;rev=1492255685&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=rh124_virtualization&amp;rev=1541720137&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=risc-v&amp;rev=1646143791&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=sata_port_multipliers&amp;rev=1556109056&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=sei_cert_c_coding_standard&amp;rev=1565126261&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=shell_dump_function&amp;rev=1571960678&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=sidebar&amp;rev=1747471121&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=software_testing&amp;rev=1564910300&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=sphinx_on_fedora&amp;rev=1580329427&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=start&amp;rev=1773861422&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=systemd-coredump&amp;rev=1542369020&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=systemd-sysctl&amp;rev=1542366267&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=systemd&amp;rev=1542366320&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=u-boot_am335x_evm&amp;rev=1554817076&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=u-boot_badref&amp;rev=1544556649&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=u-boot_board_info&amp;rev=1555253354&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=u-boot_board.c_routines&amp;rev=1577525022&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=u-boot_boot_sequence&amp;rev=1577521999&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=u-boot_configuration&amp;rev=1577430160&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=u-boot_for_arm&amp;rev=1554636005&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=u-boot_make_badref&amp;rev=1555152076&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=u-boot_porting_board&amp;rev=1577436956&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=u-boot_tools&amp;rev=1554719054&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=u-boot_unused_configs&amp;rev=1555154949&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=u-boot&amp;rev=1577521566&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=unix_shell_programming_pt2092&amp;rev=1559489465&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=user_group_management&amp;rev=1541680030&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=virtualbox_6.0&amp;rev=1547742885&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=virtualbox_on_fedora&amp;rev=1523014909&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=virtualization_on_fedora_pages&amp;rev=1541718862&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=virtualization_on_fedora&amp;rev=1562752734&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=vivado_2018.3_zedboard&amp;rev=1558353941&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=vmware_player_on_fedora&amp;rev=1565946022&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=walnascar_yocto_project_build_on_adlink_i.mx6_som&amp;rev=1766513283&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=wind_river_lts19&amp;rev=1590318100&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=xilinx_running_petalinux&amp;rev=1571572880&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=xilinx&amp;rev=1747471682&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=yocto_project&amp;rev=1637661352&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=zcu102_u-boot_structure&amp;rev=1576242842&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=zed_machine_conf&amp;rev=1557072377&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=zed_sd_card&amp;rev=1558195556&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=zed_yocto_u-boot_commands&amp;rev=1558357523&amp;do=diff"/>
                <rdf:li rdf:resource="https://crashcourse.ca/doku/doku.php?id=zedboard&amp;rev=1558294116&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://crashcourse.ca/doku/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>Doku Wiki</title>
        <link>https://crashcourse.ca/doku/</link>
        <url>https://crashcourse.ca/doku/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=4.1.21_phy_structures&amp;rev=1540657851&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-27T16:30:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>4.1.21_phy_structures</title>
        <link>https://crashcourse.ca/doku/doku.php?id=4.1.21_phy_structures&amp;rev=1540657851&amp;do=diff</link>
        <description>Overview

Summary of PHY-related structures.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=21st_century_c&amp;rev=1563288690&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-07-16T14:51:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>21st_century_c</title>
        <link>https://crashcourse.ca/doku/doku.php?id=21st_century_c&amp;rev=1563288690&amp;do=diff</link>
        <description>Overview

“21st Century C” nuggets.

	*  LLVM

STUFF

Packages

	*  gcc/clang
	*  gdb (others?), lldb
	*  valgrind
	*  gprof
	*  make
	*  autotools versus meson
	*  pkg-config
	*  lint/splint
	*  meld(?)
	*  vagrant/libvirt

Look into

	*  designated initializers</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=advanced_c_links&amp;rev=1516976647&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-01-26T14:24:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>advanced_c_links</title>
        <link>https://crashcourse.ca/doku/doku.php?id=advanced_c_links&amp;rev=1516976647&amp;do=diff</link>
        <description>Links

	*  What is the type of &quot;nullptr&quot;?
	*  Argument Dependent Lookup
	*  What are inline namespaces for?
	*  Do not extend the std namespace
	*  Initialization
		*  cppreference.com
		*  Get to Know the New C++11 Initialization Forms

	*  Delegating constructors
		*  Recursion
		*  IBM DeveloperWorks
		*  Stack Overflow
		*  accu.org
		*  C++11 Delegated Constructor Pure Virtual Method &amp; Function Calls — Dangers?


	*  Initializing static data members
	*  C++ reference using
	*  What is __PRE…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=advanced_git&amp;rev=1553859397&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-29T11:36:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>advanced_git</title>
        <link>https://crashcourse.ca/doku/doku.php?id=advanced_git&amp;rev=1553859397&amp;do=diff</link>
        <description>Outline

	*  Debugging source code using Git bisection
	*  Resolving merge conflicts
	*  Advanced rebasing techniques and repo reconstruction
	*  Using worktrees
	*  Registering and working with other remotes
	*  How to work with submodules and subtrees</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=agl&amp;rev=1554745750&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-08T17:49:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>agl</title>
        <link>https://crashcourse.ca/doku/doku.php?id=agl&amp;rev=1554745750&amp;do=diff</link>
        <description>Overview

Working with Automotive Grade Linux (AGL).

Links

	*  AGL home page
	*  Download and build
	*  GitHub OpenIVI Mobility

Sample config and build

Install repo


$ mkdir ~/bin
$ export PATH=~/bin:$PATH
$ curl https://storage.googleapis.com/git-repo-downloads/repo &gt; ~/bin/repo
$ chmod a+x ~/bin/repo</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=alloc_netdev_etherdev&amp;rev=1535443222&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-28T08:00:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>alloc_netdev_etherdev</title>
        <link>https://crashcourse.ca/doku/doku.php?id=alloc_netdev_etherdev&amp;rev=1535443222&amp;do=diff</link>
        <description>Overview

The various forms of allocating a netdevice.

netdev private data

From include/linux/netdevice.h, optional private data is stored (aligned) after the end of the structure:


static inline void *netdev_priv(const struct net_device *dev)
{
	return (char *)dev + ALIGN(sizeof(struct net_device), NETDEV_ALIGN);
}</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=arm_kernel_panic&amp;rev=1543410165&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-28T13:02:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>arm_kernel_panic</title>
        <link>https://crashcourse.ca/doku/doku.php?id=arm_kernel_panic&amp;rev=1543410165&amp;do=diff</link>
        <description>Overview

An example of debugging a kernel panic by disassembling an ARM Linux kernel.

The kernel panic


[  128.459816] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[  128.468018] Unable to handle kernel NULL pointer dereference at virtual address 00000002
[  128.468026] pgd = d8f38000
[  128.468035] [00000002] *pgd=1a660831, *pte=00000000, *ppte=00000000
[  128.468041] Internal error: Oops: 817 [#1] PREEMPT SMP ARM
[  128.468046] Modules linked in:
[  128.46806…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=aslr&amp;rev=1534602932&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-18T14:35:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>aslr</title>
        <link>https://crashcourse.ca/doku/doku.php?id=aslr&amp;rev=1534602932&amp;do=diff</link>
        <description>Overview

ASLR (Address Space Layout Randomization) stuff (exec shield?).

Links:

	*  Kernel address space layout randomization (LWN, 2013)
	*  Linux and ASLR: kernel/randomize_va_space
	*  How Effective is ASLR on Linux Systems? (2013)

Questions:

	*  What about kernel ASLR (KASLR)? Look for RANDOMIZE options.

Basics

Binaries must be position-independent executables, so worthless on statically-compiled binaries. Possible settings:</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=blockchain_pages&amp;rev=1526562379&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-05-17T13:06:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>blockchain_pages</title>
        <link>https://crashcourse.ca/doku/doku.php?id=blockchain_pages&amp;rev=1526562379&amp;do=diff</link>
        <description>Overview

Initially scattered links and notes about blockchain, hyperledger and so on.

Links

Source/Home pages

	*  https://www.hyperledger.org/
		*  Open Governance

	*  https://github.com/hyperledger
	*  https://gerrit.hyperledger.org

Tutorials

	*  https://chainhero.io/2017/07/tutorial-build-blockchain-app/

Courses

... coming soon ...

General articles

	*  The next wave of computing
	*  A Brief History of Blockchain
	*  7 Cool Decentralized Apps Being Built on Ethereum
	*  21 Companies …</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=c_11_data_types&amp;rev=1517150776&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-01-28T14:46:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c_11_data_types</title>
        <link>https://crashcourse.ca/doku/doku.php?id=c_11_data_types&amp;rev=1517150776&amp;do=diff</link>
        <description>Discussion of existing/new C++11 data types, pointers and so on.

	*  C++ type system overview
	*  Fundamental types
	*  Fixed width integer types
	*  New “long long”
	*  new &quot;char16_t&quot;
	*  new &quot;char32_t
	*  new &quot;nullptr&quot;</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=c_11_features&amp;rev=1517563388&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-02T09:23:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c_11_features</title>
        <link>https://crashcourse.ca/doku/doku.php?id=c_11_features&amp;rev=1517563388&amp;do=diff</link>
        <description>Overview

List of new/changed features in C++11, general links and feature-specific internal pages.

Links to relevant external pages

	*  ISO C++: Home of Standard C++
		*  ISO C++11 Overview
		*  ISO C++ Super-FAQ

	*  Bjarne's C++11 FAQ (obsoleted by ISO C++ Super-FAQ above)
	*  Ten C++11 Features Every C++ Developer Should Use
	*  C++11 Features Every C++ Programmer Should Know
	*  The Biggest Changes in C++11 (and Why You Should Care)
	*  Learn from Folly source code the new C++11 features.…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=c_11_keywords&amp;rev=1517137951&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-01-28T11:12:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c_11_keywords</title>
        <link>https://crashcourse.ca/doku/doku.php?id=c_11_keywords&amp;rev=1517137951&amp;do=diff</link>
        <description>Keywords totally new to C++11 (see here):

	*  alignas
	*  alignof
	*  char16_t
	*  char32_t
	*  constexpr
	*  decltype
	*  noexcept
	*  nullptr
	*  static_assert
	*  thread_local

Previous keywords that have had their meanings changed in C++11:

	*  auto (now interpreted as auto specifier)
	*  class (adds declaration of scoped enumeration type)
	*  default (adds support for generating default special member functions, “= default”</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=c_11_language_features&amp;rev=1517170384&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-01-28T20:13:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c_11_language_features</title>
        <link>https://crashcourse.ca/doku/doku.php?id=c_11_language_features&amp;rev=1517170384&amp;do=diff</link>
        <description>Overview

Links to new/changed C++11 language features (see here).

Outstanding questions:

	*  Should not explicit be tagged as having changed behaviour in C++11?

Type-related features

	*  &quot;auto&quot; specifier
	*  &quot;decltype&quot; specifier
	*  &quot;constexpr&quot; specifier
	*  User-defined literals
	*  nullptr

Standard class &quot;life cycle&quot; methods

	*  Delegating constructors
	*  Move constructor
	*  Move assignment
	*  Inherited constructors

Inheritance-related features</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=c_begin_end&amp;rev=1517832955&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-05T12:15:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c_begin_end</title>
        <link>https://crashcourse.ca/doku/doku.php?id=c_begin_end&amp;rev=1517832955&amp;do=diff</link>
        <description>Overview

How begin and end are used in range-for statements.

The rules (from TC++PL4)

The expression after the colon must denote a sequence (a range); that is, it must yield a value for which we can call v.begin() and v.end() or begin(v) and end(v) to obtain iterators (§4.5):</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=c_casting&amp;rev=1517736267&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-04T09:24:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c_casting</title>
        <link>https://crashcourse.ca/doku/doku.php?id=c_casting&amp;rev=1517736267&amp;do=diff</link>
        <description>Overview

Various forms of casting in C++.

Types of casts

static_cast

Here.

reinterpret_cast

Here.

dynamic_cast

Here.

const_cast

Here.

int{c}

Read about it here.

From TC++PL4, “the int we can construct from c”.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=c_coding_style_advice&amp;rev=1517834950&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-05T12:49:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c_coding_style_advice</title>
        <link>https://crashcourse.ca/doku/doku.php?id=c_coding_style_advice&amp;rev=1517834950&amp;do=diff</link>
        <description>*  Use auto whenever possible (particularly in range-for loops)
	*  Introduce no variable before its time.
	*  Prefer scoped, strongly-typed enums.
	*  Avoid do statements.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=c_compilation_oddities&amp;rev=1517650319&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-03T09:31:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c_compilation_oddities</title>
        <link>https://crashcourse.ca/doku/doku.php?id=c_compilation_oddities&amp;rev=1517650319&amp;do=diff</link>
        <description>*  Why does bool b{7}; not generate a narrowing error?
	*  Why does clang++ not allow int i{7};?</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=c_data_types&amp;rev=1517835422&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-05T12:57:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c_data_types</title>
        <link>https://crashcourse.ca/doku/doku.php?id=c_data_types&amp;rev=1517835422&amp;do=diff</link>
        <description>Built-in (fundamental) C++ data types:

	*  integral
		*  bool (true, false)
		*  char, wchar_t
		*  int, long, long long

	*  floating point
		*  float
		*  double
		*  long double

	*  void

User-defined types:

	*  enumerations
	*  classes

Also consult:</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=c_debugging&amp;rev=1517736535&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-04T09:28:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c_debugging</title>
        <link>https://crashcourse.ca/doku/doku.php?id=c_debugging&amp;rev=1517736535&amp;do=diff</link>
        <description>Overview

Both compile- and run-time debugging facilities for C++.

assert()

static_assert()

gdb</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=c_enums&amp;rev=1517746535&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-04T12:15:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c_enums</title>
        <link>https://crashcourse.ca/doku/doku.php?id=c_enums&amp;rev=1517746535&amp;do=diff</link>
        <description>Overview

C++11 extensions to enums -- enum classes versus original “plain” enums (scoped and strongly-typed versus unscoped).

Basics

Underlying type is int:


enum struct|class Color { red, green, blue };
...
Color::red
Color::green


Possible definitions:</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=c_exceptions&amp;rev=1517569372&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-02T11:02:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c_exceptions</title>
        <link>https://crashcourse.ca/doku/doku.php?id=c_exceptions&amp;rev=1517569372&amp;do=diff</link>
        <description>Overview

Exceptions, with emphasis on C++11 enhancements. Links:

	*  cppreference.com &quot;Exceptions&quot;
		*  throw-expression
		*  try-catch block
		*  function-try-block
		*  noexcept specifier
		*  noexcept operator
		*  Dynamic exception specification (until C++17)


Error handling possibilities

	*  Terminate the program.
	*  Return an error value.
	*  Return a legal value and leave the program in an “</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=c_iterators&amp;rev=1517833685&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-05T12:28:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c_iterators</title>
        <link>https://crashcourse.ca/doku/doku.php?id=c_iterators&amp;rev=1517833685&amp;do=diff</link>
        <description>Overview

Comprehensive coverage of C++11 iterators, including range-for loops and free-range begin and end.

cppreference.com links:

	*  Iterator library
	*  begin
	*  end</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=c_namespaces&amp;rev=1517496654&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-01T14:50:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c_namespaces</title>
        <link>https://crashcourse.ca/doku/doku.php?id=c_namespaces&amp;rev=1517496654&amp;do=diff</link>
        <description>Overview

Mechanism for expressing logical grouping -- various properties of C++ namespaces, including:

	*  terminology (declarations, definitions)
	*  inline namespaces
	*  unnamed namespaces
	*  nested namespaces
	*  namespace aliases
	*  extensibility</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=c_stl&amp;rev=1517735158&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-04T09:05:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c_stl</title>
        <link>https://crashcourse.ca/doku/doku.php?id=c_stl&amp;rev=1517735158&amp;do=diff</link>
        <description>Basic containers

	*  vector
	*  array
	*  valarray</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=c_terminology&amp;rev=1517653099&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-03T10:18:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c_terminology</title>
        <link>https://crashcourse.ca/doku/doku.php?id=c_terminology&amp;rev=1517653099&amp;do=diff</link>
        <description>Features:

	*  implementation-defined: each implementation must provide a specific, well-deﬁned behavior for a construct and that behavior must be documented
	*  unspecified: a range of possible behaviors are acceptable, but the implementer is not obliged to specify which actually occur</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=c&amp;rev=1565699500&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-13T12:31:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c</title>
        <link>https://crashcourse.ca/doku/doku.php?id=c&amp;rev=1565699500&amp;do=diff</link>
        <description>Overview

C++ links/resources.

TO DO:

	*  Constant expressions (const and constexpr) (10.4)
		*  A class with a constexpr constructor is called a literal type.

	*  Implicit type conversion (10.5)
	*  nothrow forms of new and delete (11.2.4)
	*  initializer lists</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=c11&amp;rev=1565011860&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-05T13:31:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c11</title>
        <link>https://crashcourse.ca/doku/doku.php?id=c11&amp;rev=1565011860&amp;do=diff</link>
        <description>Overview

Discussion of C11.

Links:

	*  C11: A New C Standard Aiming at Safer Programming
	*  C in a Nutshell (2e)
	*  21st Century C
	*  cppreference.com

Fedora packages

	*  clang
	*  valgrind
	*  meld [for graphical diff]
	*  strace; ltrace
	*  splint
	*  pkg-config
	*  gdb; lldb

To document

	*  List the properties of “embedded C”.

Internal links</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=can_lin_buses&amp;rev=1560508676&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-06-14T10:37:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>can_lin_buses</title>
        <link>https://crashcourse.ca/doku/doku.php?id=can_lin_buses&amp;rev=1560508676&amp;do=diff</link>
        <description>Overview

Discussion of CAN and LIN buses, and their interoperability.

Links

CAN

	*  &lt;https://github.com/linux-can&gt;
	*  &lt;https://www.can-cia.org/&gt;
	*  Computer Solutions CAN Tutorial
	*  A Simple Intro to CAN FD
	*  Developments in Car Hacking
	*  Hacking the CAN Bus: Basic Manipulation of a Modern Automobile Through CAN Bus Reverse Engineering

LIN

	*  LIN Rev 2.2A
	*  TI LIN Protocol and Physical Layer Requirements
	*  A Simple Intro to LIN Bus
	*  Introduction to the LIN bus
	*  Re-evalua…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=cdk_on_fedora&amp;rev=1522872208&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-04-04T20:03:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cdk_on_fedora</title>
        <link>https://crashcourse.ca/doku/doku.php?id=cdk_on_fedora&amp;rev=1522872208&amp;do=diff</link>
        <description>Overview

Installing and using Red Hat's CDK 3.3 on Fedora 27.

“Container Development Kit 3.3 is based on Minishift 1.11.0. Using a single executable file, the minishift command deploys CDK as a Red Hat Enterprise Linux virtual machine, running OpenShift (which includes Kubernetes, the Docker service, and other container development and deployment software).</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=centos_package_management&amp;rev=1541686893&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-08T14:21:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>centos_package_management</title>
        <link>https://crashcourse.ca/doku/doku.php?id=centos_package_management&amp;rev=1541686893&amp;do=diff</link>
        <description>Overview

Basic and advanced package management.

ELRepo

	*  ELRepo.org

Import public key:


# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org (external link)


Install ELRepo:


# rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm (external link)</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=centos_pages&amp;rev=1570275646&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-05T11:40:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>centos_pages</title>
        <link>https://crashcourse.ca/doku/doku.php?id=centos_pages&amp;rev=1570275646&amp;do=diff</link>
        <description>Overview

Lots of disorganized stuff regarding CentOS 8, with no interest in earlier versions.

Containers

Internal pages

	*  CentOS8_containers</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=centos8_containers&amp;rev=1570365154&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-06T12:32:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>centos8_containers</title>
        <link>https://crashcourse.ca/doku/doku.php?id=centos8_containers&amp;rev=1570365154&amp;do=diff</link>
        <description>Overview

Discussion of &quot;Building, running, and managing containers&quot;

Look into:

	*  Using the CRI-O Container Engine
	*  OCI image format, OCI-compatible container engines
	*  OpenShift
	*  pods (OpenShift)
	*  Create /etc/containers/nodocker to shut up info msg

Images

	*  ubi8/rhel
	*  ubi8/rhel-minimal</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=cgroupsv2&amp;rev=1564327523&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-07-28T15:25:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cgroupsv2</title>
        <link>https://crashcourse.ca/doku/doku.php?id=cgroupsv2&amp;rev=1564327523&amp;do=diff</link>
        <description>Overview

Stuff about cgroups v2.

STUFF

	*  every process belongs to exactly one cgroup; all threads of a process belong to the same cgroup
	*  

Kernel files

arch/x86/configs/x86_64_defconfig


CONFIG_CGROUPS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CPUSETS=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_SCHED=y</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=comparing_device_trees_with_dtx_diff&amp;rev=1542479635&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-17T18:33:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>comparing_device_trees_with_dtx_diff</title>
        <link>https://crashcourse.ca/doku/doku.php?id=comparing_device_trees_with_dtx_diff&amp;rev=1542479635&amp;do=diff</link>
        <description>Overview

How to compare (typically in-kernel) device tree source files with dtx_diff.

Preparing for comparison

Given a kernel source tree at, say, ~/k/git/, prepare for comparison with:


$ cd ~/k/git
$ PATH=~/k/git/scripts/dtc:$PATH
$ export ARCH=arm</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=console_loglevel&amp;rev=1542987208&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-23T15:33:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>console_loglevel</title>
        <link>https://crashcourse.ca/doku/doku.php?id=console_loglevel&amp;rev=1542987208&amp;do=diff</link>
        <description>Overview

Properties of console loglevel, and how to use it.

Files

Kernel source files

	*  include/
		*  linux/
			*  printk.h


	*  lib/
		*  Kconfig.debug

	*  init/
		*  main.c

	*  kernel/
		*  sysctl.c
		*  printk/
			*  printk.c


	*  Documentation/
		*  admin-guide/
			*  parameters.txt



Running system files

	*  /etc/sysctl.conf
	*  /sys/module/printk/parameters</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=container_security_book&amp;rev=1579383926&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-18T21:45:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>container_security_book</title>
        <link>https://crashcourse.ca/doku/doku.php?id=container_security_book&amp;rev=1579383926&amp;do=diff</link>
        <description>Overview

General observations ...

Observations

	*  Is there a market for a book on underlying container technology?
	*  Works with context outside of Docker? podman? cgroups v2?
	*  “system containers” such as LXC and LXD?
	*  technologies:
		*</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=containers_on_fedora_30&amp;rev=1554279041&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-03T08:10:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>containers_on_fedora_30</title>
        <link>https://crashcourse.ca/doku/doku.php?id=containers_on_fedora_30&amp;rev=1554279041&amp;do=diff</link>
        <description>Overview

Various pages and recipes for playing with containers on Fedora 30 (Branched at the moment). I've barely started so there's way more coming.

TO DO

	*  OCI container and image specifications (containers/image and containers/storage)

Links</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=containers_on_fedora&amp;rev=1524337974&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-04-21T19:12:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>containers_on_fedora</title>
        <link>https://crashcourse.ca/doku/doku.php?id=containers_on_fedora&amp;rev=1524337974&amp;do=diff</link>
        <description>Overview

Not sure where this is going, but I want to start summarizing container technology on Fedora 28 Branched.

General container links

	*  Open Container Initiative
	*  What even is a container: namespaces and cgroups
	*  Anatomy of a Container
	*  How Linux Kernel Cgroups And Namespaces Made Modern Containers Possible

Internal wiki links

	*  LXC on Fedora 28</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=containers_podman_buildah&amp;rev=1580489282&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-31T16:48:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>containers_podman_buildah</title>
        <link>https://crashcourse.ca/doku/doku.php?id=containers_podman_buildah&amp;rev=1580489282&amp;do=diff</link>
        <description>Overview

Lots and lots of links ...

developers.redhat.com

	*  Best practices for running Buildah in a container (D. Walsh, Aug 2019)
	*  Building with Buildah: Dockerfiles, command line, or scripts (T. Sweeney, Dec 2019)
	*  Build and run Buildah inside a Podman container (T. Sweeney, Apr 2019)
	*  Monitoring container vitality and availability with Podman (B. Baude, Apr 2019)
	*  How to run systemd in a container (D. Walsh, Apr 2019)
	*  Podman and Buildah for Docker users (W. Henry, Feb 201…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=debian_trixie_configuration&amp;rev=1756576292&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-30T17:51:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>debian_trixie_configuration</title>
        <link>https://crashcourse.ca/doku/doku.php?id=debian_trixie_configuration&amp;rev=1756576292&amp;do=diff</link>
        <description>Overview

Links and explanations on how to install dev tools in Debian Trixie.

VScode

	*   Install VS Code on Linux

Podman Desktop

	*   Flatpak Linux installation

Dart/Flutter</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=device_tree_naming_conventions&amp;rev=1542470566&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-17T16:02:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>device_tree_naming_conventions</title>
        <link>https://crashcourse.ca/doku/doku.php?id=device_tree_naming_conventions&amp;rev=1542470566&amp;do=diff</link>
        <description>From Toradex tutorial:

Typically, a device tree is defined at multiple levels and composed of multiple device tree files. Device tree files (dts and dtsi) may include other device tree files known as includable device tree files (dtsi). In this manner, a board level device tree file (dts) generally includes a SoC level device tree file (dtsi). To support the modular approach of Toradex products, our device tree files usually have three levels of inclusion: carrier board, module and SoC level. T…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=device_tree_node_requirements&amp;rev=1542553192&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-18T14:59:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>device_tree_node_requirements</title>
        <link>https://crashcourse.ca/doku/doku.php?id=device_tree_node_requirements&amp;rev=1542553192&amp;do=diff</link>
        <description>Overview

Device tree node requirements.

Nodes

#address-cells (R)

#size-cells (R)

model (R)

compatible (R)</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=device_tree_standard_properties&amp;rev=1542549283&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-18T13:54:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>device_tree_standard_properties</title>
        <link>https://crashcourse.ca/doku/doku.php?id=device_tree_standard_properties&amp;rev=1542549283&amp;do=diff</link>
        <description>Overview

Standard properties of devicetrees.

Properties

compatible

model

phandle

status

#address-cells, #size-calls

The #address-cells and #size-cells properties are not inherited from ancestors in the devicetree. They shall be explicitly defined.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=devm_ioremap_resource&amp;rev=1533038377&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-07-31T11:59:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>devm_ioremap_resource</title>
        <link>https://crashcourse.ca/doku/doku.php?id=devm_ioremap_resource&amp;rev=1533038377&amp;do=diff</link>
        <description>Overview

Explain devm_ioremap_resource(), with examples particularly related to memory regions. Add some links.

struct resource

From include/linux/ioport.h, a device can have a number of resources of different types:


/*
 * Resources are tree-like, allowing
 * nesting etc..
 */
struct resource {
	resource_size_t start;
	resource_size_t end;
	const char *name;
	unsigned long flags;
	unsigned long desc;
	struct resource *parent, *sibling, *child;
}</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=docker_initial_containers&amp;rev=1548332619&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-01-24T12:23:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker_initial_containers</title>
        <link>https://crashcourse.ca/doku/doku.php?id=docker_initial_containers&amp;rev=1548332619&amp;do=diff</link>
        <description>Overview

Getting started with Docker.

Verifying installation


$ docker --version
Docker version 18.09.1, build 4c52b90
$



$ docker info
Containers: 3
 Running: 0
 Paused: 0
 Stopped: 3
Images: 2
Server Version: 18.09.1
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file loc…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=docker_installation_on_fedora&amp;rev=1548338481&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-01-24T14:01:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker_installation_on_fedora</title>
        <link>https://crashcourse.ca/doku/doku.php?id=docker_installation_on_fedora&amp;rev=1548338481&amp;do=diff</link>
        <description>Overview

How to install and test Docker and friends on current Fedora 29.

Extra:

	*  curl -fsSL get.docker.com -o get-docker.sh

Links

	*  &lt;https://docs.docker.com/&gt;
		*  &lt;https://docs.docker.com/install/&gt;
			*  &lt;https://docs.docker.com/install/linux/docker-ce/fedora/&gt;
			*  Post-installation steps for Linux



Get rid of earlier Docker/container content

Fedora's Docker packaging has undergone some reorganization, so you first need to get rid of all earlier Docker-related packages. First, t…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=docker_on_fedora&amp;rev=1522872350&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-04-04T20:05:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker_on_fedora</title>
        <link>https://crashcourse.ca/doku/doku.php?id=docker_on_fedora&amp;rev=1522872350&amp;do=diff</link>
        <description>Internal links

	*  Docker installation on Fedora</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=docker&amp;rev=1570444135&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-07T10:28:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker</title>
        <link>https://crashcourse.ca/doku/doku.php?id=docker&amp;rev=1570444135&amp;do=diff</link>
        <description>Overview

Collection of Docker-related topics, including Fedora-related.

Internal pages:

	*  Dockerfiles

The bigger picture

	*  podman
	*  containerd
	*  buildah
	*  cri-o

TO DO

	*  Properties of Docker CE
	*  podman
	*  Compose
	*  Swarm
	*  libcgroup
	*</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=dockerfiles&amp;rev=1578052683&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-03T11:58:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dockerfiles</title>
        <link>https://crashcourse.ca/doku/doku.php?id=dockerfiles&amp;rev=1578052683&amp;do=diff</link>
        <description>Overview

Summary of Dockerfiles.

External links:

	*  https://takacsmark.com/dockerfile-tutorial-by-example-dockerfile-best-practices-2018/
	*  https://docs.docker.com/engine/reference/builder/
	*  https://www.docker.com/blog/intro-guide-to-dockerfile-best-practices/

Notes

	*  podman also reads a Containerfile (also CPP-processed Containerfile.in)
	*  default context is current directory (“.”)
	*  rm ~/.config/containers/libpod.conf
	*  .dockerignore</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=dokuwiki_syntax&amp;rev=1747561247&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-18T09:40:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dokuwiki_syntax</title>
        <link>https://crashcourse.ca/doku/doku.php?id=dokuwiki_syntax&amp;rev=1747561247&amp;do=diff</link>
        <description>Headline 5

Headline 4

Headline 3

Headline 2

Simple text rendering:

	*  bold
	*  italic
	*  underlined
	*  monospaced
	*  Subscript1
	*  Superscript2
	*  Strikeout

External links:

	*  &lt;https://crashcourse.ca&gt;
	*  &lt;https://crashcourse.ca&gt;
	*  Crash Course

Internal links (use hash for anchor):

	*  gerrit_tutorial
	*</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=f30_buildah&amp;rev=1554279820&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-03T08:23:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>f30_buildah</title>
        <link>https://crashcourse.ca/doku/doku.php?id=f30_buildah&amp;rev=1554279820&amp;do=diff</link>
        <description>Overview

Using buildah on Fedora 30.

Links:

	*  buildah.io
	*  Getting started with Buildah
	*  ​Buildah 1.0: Linux Container construction made easy
	*  Software Factory Container With Buildah And Podman
	*  Creating small containers with Buildah

Basics

buildah sits on top of:

	*  OCI containers/image project (copy, push, pull, inspect images)
	*  OCI containers/storage project (store FS layers, images and containers)</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=f30_crio&amp;rev=1553958865&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-30T15:14:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>f30_crio</title>
        <link>https://crashcourse.ca/doku/doku.php?id=f30_crio&amp;rev=1553958865&amp;do=diff</link>
        <description>Links

	*  Using the CRI-O Container Engine</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=f30_linux_containers&amp;rev=1553353502&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-23T15:05:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>f30_linux_containers</title>
        <link>https://crashcourse.ca/doku/doku.php?id=f30_linux_containers&amp;rev=1553353502&amp;do=diff</link>
        <description>Overview

Container technology including LXC, LXD, LXCFS and CGManager.

Links:

	*  https://linuxcontainers.org/</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=f30_podman&amp;rev=1554047721&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-31T15:55:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>f30_podman</title>
        <link>https://crashcourse.ca/doku/doku.php?id=f30_podman&amp;rev=1554047721&amp;do=diff</link>
        <description>Overview

Setting up and running podman on Fedora 30 (currently Branched):


Libpod provides a library for applications looking to use the
Container Pod concept, popularized by Kubernetes. Libpod also
contains the Pod Manager tool (Podman). Podman manages pods,
containers, container images, and container volumes.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=fedora_30_on_dell_5810&amp;rev=1567090395&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-29T14:53:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fedora_30_on_dell_5810</title>
        <link>https://crashcourse.ca/doku/doku.php?id=fedora_30_on_dell_5810&amp;rev=1567090395&amp;do=diff</link>
        <description>Overview

Install/configure of Fedora 30 on Dell Precision 5810.

Update

Install

fedora-workstation-repositories

For various third-party repos, which you still need to enable:


$ sudo dnf install fedora-workstation-repositories


Then (for example):</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=fedora_exfat_filesystem&amp;rev=1523641899&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-04-13T17:51:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fedora_exfat_filesystem</title>
        <link>https://crashcourse.ca/doku/doku.php?id=fedora_exfat_filesystem&amp;rev=1523641899&amp;do=diff</link>
        <description>Overview

How to install and use fuse-exfat and exfat-utils packages from RPM Fusion free on Fedora 28 Branched to format 64G Silicon Power micro SD card for music player.

Configure RPM Fusion free

Install rpmfusion-free-release-branched.noarch.rpm, which will install the following:


$ rpm -ql rpmfusion-free-release
/etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora
/etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-27
/etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-27-primary
/etc/pki/rpm…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=fedora_misc_pages&amp;rev=1567084221&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-29T13:10:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fedora_misc_pages</title>
        <link>https://crashcourse.ca/doku/doku.php?id=fedora_misc_pages&amp;rev=1567084221&amp;do=diff</link>
        <description>Overview

Just random Fedora 28 (Branched) topics as they occur to me.

Wiki links

	*  Fedora releases (Koji/Bodhi)
	*  Fedora exfat filesystem
	*  Fedora 30 on Dell 5810</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=fedora_releases_koji_bodhi&amp;rev=1566990291&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-28T11:04:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fedora_releases_koji_bodhi</title>
        <link>https://crashcourse.ca/doku/doku.php?id=fedora_releases_koji_bodhi&amp;rev=1566990291&amp;do=diff</link>
        <description>Overview

First pass at describing the Fedora update/upgrade/release process, based on a thread I started here.

Adam's explanation in that thread

This page may possibly be useful to you in understanding the details of
this stuff:

&lt;https://docs.fedoraproject.org/en-US/quick-docs/repositories/&gt;

There are three things to keep in mind, broadly speaking: the Bodhi
'update' process, Koji tags, and the compose process.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=fedora&amp;rev=1566502852&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-22T19:40:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fedora</title>
        <link>https://crashcourse.ca/doku/doku.php?id=fedora&amp;rev=1566502852&amp;do=diff</link>
        <description>Overview

Fedora-related stuff.

	*  New Fedora kernel
	*  Virtualization on Fedora
	*  Performance tuning on Fedora
	*  VMware Player on Fedora
	*  Jenkins on Fedora</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=fossology&amp;rev=1574626800&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-11-24T20:20:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fossology</title>
        <link>https://crashcourse.ca/doku/doku.php?id=fossology&amp;rev=1574626800&amp;do=diff</link>
        <description>Overview

Adventures in installing and testing Fossology on Ubuntu 18.04.3, based on (and cloning from):

	*  &lt;https://github.com/fossology/fossology/wiki/Install-from-Source&gt;
	*  &lt;https://github.com/fossology/fossology&gt;

Log in as default fossy/fossy.

Quick start

Possibly unnecessary steps identified:


$ sudo utils/fo-installdeps
$ [sudo apt install lsb-release]</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=fundamentals_of_container_technology&amp;rev=1553974808&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-30T19:40:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fundamentals_of_container_technology</title>
        <link>https://crashcourse.ca/doku/doku.php?id=fundamentals_of_container_technology&amp;rev=1553974808&amp;do=diff</link>
        <description>1-day course outline

This outline represents the upcoming content for a single-day course on container technology, incorporating the Docker-compatible tools podman, buildah and skopeo. All of these tools are perfectly compatible with Docker.

	*  An introduction to container technology</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=gcc_extensions&amp;rev=1564059182&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-07-25T12:53:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>gcc_extensions</title>
        <link>https://crashcourse.ca/doku/doku.php?id=gcc_extensions&amp;rev=1564059182&amp;do=diff</link>
        <description>Overview

Most useful GCC extensions to C language; avoid by using -pedantic.

Extensions

Statements and declarations in expressions

A compound statement enclosed in parentheses may appear as an expression in GNU C. This allows you to use loops, switches, and local variables within an expression.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=gdb&amp;rev=1564053873&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-07-25T11:24:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>gdb</title>
        <link>https://crashcourse.ca/doku/doku.php?id=gdb&amp;rev=1564053873&amp;do=diff</link>
        <description>Overview

GDB stuff, of course (separate Fedora package).

Links:

	*  GDB home page

TO DO

	*  frontends (gdbgui)
	*  debug running process
	*  kgdb
	*  gdbserver

.gdbinit


SYNOPSIS
       /etc/gdbinit

       ~/.gdbinit

       ./.gdbinit

DESCRIPTION
       These files contain GDB commands to automatically execute
       during GDB startup.  The lines of contents are canned sequences
       of commands, described in the GDB manual in node &quot;Sequences&quot; --
       shell command &quot;info -f gdb -n…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=gerrit_tutorial&amp;rev=1587491706&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-21T17:55:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>gerrit_tutorial</title>
        <link>https://crashcourse.ca/doku/doku.php?id=gerrit_tutorial&amp;rev=1587491706&amp;do=diff</link>
        <description>Overview

Tutorial for Gerrit, using mediawiki Gerrit repo.

	*  Gerrit Mediawiki URL
	*  Tutorialspoint tutorial

Preparation

	*  Install Git (duh)
	*  Generate local SSH keys
	*  Create account at Mediawiki, add SSH keys
	*  Install git-review package on Linux

Test access with (should see):</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=getting_started_with_virtualization_on_fedora&amp;rev=1562752772&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-07-10T09:59:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>getting_started_with_virtualization_on_fedora</title>
        <link>https://crashcourse.ca/doku/doku.php?id=getting_started_with_virtualization_on_fedora&amp;rev=1562752772&amp;do=diff</link>
        <description>Overview

Basic virtualization on Fedora using libvirt family of tools.

Links

	*  Getting started with virtualization (Fedora docs)
	*  Enabling nested virtualization in KVM (Fedora docs)
	*  https://wiki.libvirt.org/page/Main_Page
	*  https://www.virt-tools.org/

Image formats

	*  Converting between image formats
	*  How to use qcow2 Image on Virtualbox
	*  OVF? OVA? VMDK? – File Formats and Tools for Virtualization

Creating virtual machines

virt-install

Package contents:


$ rpm -ql virt…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_add_rm&amp;rev=1552912172&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-18T12:29:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_add_rm</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_add_rm&amp;rev=1552912172&amp;do=diff</link>
        <description>Overview

How to stage changes in your working tree in the index to make them part of the next commit.

How staging works and what it does

The two commands that stage your changes in the index:

	*  git add: Stage both new files and changes to existing files</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_adding_remotes&amp;rev=1552056360&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-08T14:46:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_adding_remotes</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_adding_remotes&amp;rev=1552056360&amp;do=diff</link>
        <description>Overview

How to add, use and delete remotes, using Linux kernel source repo as an example.

Add a new remote

Currently one remote:


$ git remote -v
origin	https://github.com/torvalds/linux.git (fetch)
origin	https://github.com/torvalds/linux.git (push)
$</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_advanced_topics&amp;rev=1510017588&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-11-07T01:19:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_advanced_topics</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_advanced_topics&amp;rev=1510017588&amp;do=diff</link>
        <description>Advanced Git topics

	*  Git under the hood (object database)
	*  Review of “Undoing Everything”
	*  Edge undo cases
	*  Using reflog in depth
	*  Submodules
	*  Subtrees
	*  Worktrees
	*  Log search
	*  Rerere
	*  Workflow strategies
	*  Managing multiple remotes effectively</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_aliases&amp;rev=1551100509&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-02-25T13:15:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_aliases</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_aliases&amp;rev=1551100509&amp;do=diff</link>
        <description>Overview

Proper definition and usage of Git aliases.

Links:

	*  https://stackoverflow.com/questions/7066325/list-git-aliases/22183573#22183573
	*  https://gist.github.com/pksunkara/988716

Setting and listing aliases

Setting regular Git aliases

How to set a regular Git alias (note the need for quotes with multi-word values):


$ git config --global alias.a add
$ git config --global alias.cm commit
$ git config --global alias.co checkout
$ git config --global alias.b branch
$ git config --gl…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_all_commands&amp;rev=1552907286&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-18T11:08:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_all_commands</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_all_commands&amp;rev=1552907286&amp;do=diff</link>
        <description>Overview

Categorized list of Git commands via git help --all.

Commands

Main porcelain commands


   add                  Add file contents to the index
   am                   Apply a series of patches from a mailbox
   archive              Create an archive of files from a named tree
   bisect               Use binary search to find the commit that introduced a bug
   branch               List, create, or delete branches
   bundle               Move objects and refs by archive
   checkout   …</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_atlassian_content&amp;rev=1518351296&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-11T12:14:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_atlassian_content</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_atlassian_content&amp;rev=1518351296&amp;do=diff</link>
        <description>Overview

Links to numerous Atlassian Git tutorials, articles, blog posts, etc.

Tutorials

Main link.

Learn Git

	*  Learn Git with Bitbucket Cloud
	*  Learn about code review in Bitbucket Cloud
	*  Learn Branching with Bitbucket Cloud

Beginner

	*  What is version control?
	*  What is Git?
	*  Why Git for your organization
	*  Install Git
	*  Git cheat sheet

Getting Started

	*  Setting up a repository
	*  Saving changes
	*  Inspecting a repository
	*  Undoing Commits and Changes
	*  Rewrit…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_attributes&amp;rev=1552635924&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-15T07:45:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_attributes</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_attributes&amp;rev=1552635924&amp;do=diff</link>
        <description>Overview

Basics of attributes, .gitattributes file.

Using attributes, you can do things like specify separate merge strategies for individual files or directories in your project, tell Git how to diff non-text files, or have Git filter content before you check it into or out of Git.
Links:</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_bare_shallow_clones&amp;rev=1568890567&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-19T10:56:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_bare_shallow_clones</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_bare_shallow_clones&amp;rev=1568890567&amp;do=diff</link>
        <description>Overview

Quick coverage of what you can do with bare/shallow clones, particularly with respect to tagging.

Variations

full clone


$ du -s full
207848	full
$


bare clone


$ du -s bare
186116	bare
$</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_bisect&amp;rev=1551218061&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-02-26T21:54:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_bisect</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_bisect&amp;rev=1551218061&amp;do=diff</link>
        <description>Overview

Both intro and advanced content on how to use git bisect. 

Some links:

	*  Git Bisect Debugging with Feature Branches
	*  git-bisect-lk2009

SYNOPSIS


git bisect start [--term-{old,good}=&lt;term&gt; --term-{new,bad}=&lt;term&gt;]
                 [--no-checkout] [&lt;bad&gt; [&lt;good&gt;...]] [--] [&lt;paths&gt;...]
git bisect (bad|new|&lt;term-new&gt;) [&lt;rev&gt;]
git bisect (good|old|&lt;term-old&gt;) [&lt;rev&gt;...]
git bisect terms [--term-good | --term-bad]
git bisect skip [(&lt;rev&gt;|&lt;range&gt;)...]
git bisect reset [&lt;commit&gt;]
git …</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_blame&amp;rev=1551967498&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-07T14:04:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_blame</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_blame&amp;rev=1551967498&amp;do=diff</link>
        <description>Overview

Most useful variations of git blame, using examples from Linux kernel source.

From man git-annotate:


The only difference between this command and git-blame(1) is
that they use slightly different output formats, and this
command exists only for backward compatibility to support
existing scripts, and provide a more familiar command name for
people coming from other SCM systems.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_clean&amp;rev=1551367550&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-02-28T15:25:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_clean</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_clean&amp;rev=1551367550&amp;do=diff</link>
        <description>Overview

General usage for “cleaning” your working directory:


$ git clean [-d] [-f] [-i] [-n] [-q] [-e &lt;pattern&gt;] [-x | -X] [--] &lt;path&gt;...


The single config setting for this command:

	*  clean.requireForce

Prerequisites: You should understand</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_clone_variations&amp;rev=1537184824&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-17T11:47:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_clone_variations</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_clone_variations&amp;rev=1537184824&amp;do=diff</link>
        <description>Overview

Numerous variations on git clone. For now, just go here.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_clone&amp;rev=1552732804&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-16T10:40:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_clone</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_clone&amp;rev=1552732804&amp;do=diff</link>
        <description>Overview

Basic and advanced features of cloning.

Shallow clones

Read all about it here.

Synopsis:


--depth &lt;depth&gt;
    Create a shallow clone with a history truncated to the
    specified number of commits. Implies --single-branch unless
    --no-single-branch is given to fetch the histories near the
    tips of all branches. If you want to clone submodules
    shallowly, also pass --shallow-submodules.

--shallow-since=&lt;date&gt;
    Create a shallow clone with a history after the specified
  …</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_commit&amp;rev=1551357411&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-02-28T12:36:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_commit</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_commit&amp;rev=1551357411&amp;do=diff</link>
        <description>Overview

Miscellaneous notes on git commit, using the Linux kernel source as an example.

SYNOPSIS


git commit [-a | --interactive | --patch] [-s] [-v] [-u&lt;mode&gt;] [--amend]
           [--dry-run] [(-c | -C | --fixup | --squash) &lt;commit&gt;]
           [-F &lt;file&gt; | -m &lt;msg&gt;] [--reset-author] [--allow-empty]
           [--allow-empty-message] [--no-verify] [-e] [--author=&lt;author&gt;]
           [--date=&lt;date&gt;] [--cleanup=&lt;mode&gt;] [--[no-]status]
           [-i | -o] [-S[&lt;keyid&gt;]] [--] [&lt;file&gt;...]</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_config&amp;rev=1550483863&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-02-18T09:57:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_config</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_config&amp;rev=1550483863&amp;do=diff</link>
        <description>Overview

How to examine, set and unset your Git configuration with git config (uses INI file format).

Sample .gitconfig file:

	*  &lt;https://gist.github.com/pksunkara/988716&gt;

TO DO:

	*  GIT_CONFIG
	*  GIT_CONFIG_NOSYSTEM

SYNOPSIS


$ man git-config

 ... snip ...

git config [&lt;file-option&gt;] [type] [--show-origin] [-z|--null] name [value [value_regex]]
git config [&lt;file-option&gt;] [type] --add name value
git config [&lt;file-option&gt;] [type] --replace-all name value [value_regex]
git config [&lt;file-…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_count-objects&amp;rev=1551435275&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-01T10:14:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_count-objects</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_count-objects&amp;rev=1551435275&amp;do=diff</link>
        <description>Overview

How to count objects in the object store.

SYNOPSIS


git count-objects [-v] [-H | --human-readable]


Basic usage

Based on current state of “Pro Git” book repo:


$ git count-objects
718 objects, 3120 kilobytes
$



$ git count-objects -v
count: 718
size: 3120
in-pack: 10966
packs: 6
size-pack: 175419
prune-packable: 45
garbage: 0
size-garbage: 0
$</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_dealing_with_remotes&amp;rev=1554339062&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-04T00:51:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_dealing_with_remotes</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_dealing_with_remotes&amp;rev=1554339062&amp;do=diff</link>
        <description>Overview

A multi-page discussion on dealing with remotes.

	*  Git remote tracking branches
	*  Git remote ls remote
	*  Git establishing tracking branches
	*  Git fetch pull push
	*  Git pruning
	*  Git adding remotes</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_diff&amp;rev=1551441488&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-01T11:58:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_diff</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_diff&amp;rev=1551441488&amp;do=diff</link>
        <description>Overview

The basic usage of git diff which, in general, compares two tree-ish objects, where a tree-ish object is one of:

	*  a specific commit (HEAD, SHA-1 hash, tag or branch name)
	*  the working tree
	*  the index

SYNOPSIS


git diff [&lt;options&gt;] [&lt;commit&gt;] [--] [&lt;path&gt;...]
git diff [&lt;options&gt;] --cached [&lt;commit&gt;] [--] [&lt;path&gt;...]
git diff [&lt;options&gt;] &lt;commit&gt; &lt;commit&gt; [--] [&lt;path&gt;...]
git diff [&lt;options&gt;] &lt;blob&gt; &lt;blob&gt;
git diff [&lt;options&gt;] --no-index [--] &lt;path&gt; &lt;path&gt;</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_establishing_tracking_branches&amp;rev=1554342836&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-04T01:53:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_establishing_tracking_branches</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_establishing_tracking_branches&amp;rev=1554342836&amp;do=diff</link>
        <description>Overview

Various ways to establish tracking branches. Use linux-next remote ln with branches:

	*  master
	*  akpm
	*  akpm-base
	*  pending-fixes
	*  stable


$ git fetch ln
$ git branch -a
* master
  remotes/ln/akpm
  remotes/ln/akpm-base
  remotes/ln/master
  remotes/ln/pending-fixes
  remotes/ln/stable
  remotes/origin/HEAD -&gt; origin/master
  remotes/origin/master
$</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_fedora_packages&amp;rev=1518612733&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-14T12:52:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_fedora_packages</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_fedora_packages&amp;rev=1518612733&amp;do=diff</link>
        <description>Overview

Links to additional Git-related Fedora packages.

	*  git-annex
	*  git-archive-all
	*  git-bugzilla
	*  git-bz
	*  git-cal
	*  git-cola
	*  git-evtag
	*  git-extras
	*  git-fame
	*  gitflow
	*  git-ftp
	*  gitg
	*  gitifyhg
	*  git-lfs
	*  git-octopus
	*  gitolite
	*  gitolite3
	*  gitosis
	*  git-publish
	*  git-pull-request
	*  GitPython
	*  git-remote-bzr
	*  git-remote-hg
	*  git-review
	*  gitstats
	*  git-tools
	*  gitweb-caching
	*  git-xcleaner

Selected packages

git-extras

…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_fetch_pull_push&amp;rev=1554348032&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-04T03:20:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_fetch_pull_push</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_fetch_pull_push&amp;rev=1554348032&amp;do=diff</link>
        <description>Overview

Fetching, pulling and pushing.

Fetching


$ git fetch [origin]
$ git fetch ln
$ git fetch --all


Before fetching, remove any remote-tracking references that no longer exist on the remote.


$ git fetch [-p|--prune]]


Pushing


$ git push origin thisbranch:thatbranch
$ git push origin --delete &lt;branchname&gt;</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_for_each_ref&amp;rev=1552071753&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-08T19:02:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_for_each_ref</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_for_each_ref&amp;rev=1552071753&amp;do=diff</link>
        <description>Links:

	*  Quickly seeing the age of your branches</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_fsck&amp;rev=1552404110&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-12T15:21:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_fsck</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_fsck&amp;rev=1552404110&amp;do=diff</link>
        <description>Overview

Using git fsck to display dangling and unreachable objects (should cover reflog first).

Check:

	*  Does --lost-found save blobs? Don't think so.

SYNOPSIS


git fsck
  [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]
  [--[no-]full] [--strict] [--verbose] [--lost-found]
  [--[no-]dangling] [--[no-]progress] [--connectivity-only]
  [--[no-]name-objects] [&lt;object&gt;*]</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_gc&amp;rev=1551951985&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-07T09:46:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_gc</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_gc&amp;rev=1551951985&amp;do=diff</link>
        <description>Overview

How to clean up dangling and unreachable objects.

Links:

	*  Stack Overflow posting

SYNOPSIS


git gc
  [--aggressive]
  [--auto]
  [--quiet]
  [--prune=&lt;date&gt; | --no-prune]
  [--force]
  [--keep-largest-pack]


OPTIONS

In part:


--prune=&lt;date&gt;
    Prune loose objects older than date (default is 2 weeks
    ago, overridable by the config variable gc.pruneExpire).
    --prune=all prunes loose objects regardless of their age
    and increases the risk of corruption if another proces…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_github_workflow&amp;rev=1580144610&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-27T17:03:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_github_workflow</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_github_workflow&amp;rev=1580144610&amp;do=diff</link>
        <description>Overview

Typical workflow for contributing to a public GitHub project, demonstrating the use of branches and remotes. For this demonstration, I'll use a GitHub project I've been contributing to recently -- &lt;https://github.com/containers/libpod&gt; -- which is the source of the Docker lookalike</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_good_commits&amp;rev=1689663043&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-07-18T06:50:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_good_commits</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_good_commits&amp;rev=1689663043&amp;do=diff</link>
        <description>Overview

What makes a good Git commit?

Links:

	*  Commit Message Guidelines
	*  OpenStack advice
	*  Chris Beams' advice
	*  Stack Overflow advice
	*  SlideShare presentation

Any other good ones?

Properties of a good Git commit (sort of subjective)

	*  Subject (first) line (followed by blank line):
		*  60 char max (including subsystem name) for</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_grep&amp;rev=1527427806&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-05-27T13:30:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_grep</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_grep&amp;rev=1527427806&amp;do=diff</link>
        <description>Overview

How to use git grep to search only tracked files, or tracked and new files, etc.

SYNOPSIS


$ git grep 
  [-a | --text] [-I] [--textconv] [-i | --ignore-case] [-w | --word-regexp]
  [-v | --invert-match] [-h|-H] [--full-name]
  [-E | --extended-regexp] [-G | --basic-regexp]
  [-P | --perl-regexp]
  [-F | --fixed-strings] [-n | --line-number]
  [-l | --files-with-matches] [-L | --files-without-match]
  [(-O | --open-files-in-pager) [&lt;pager&gt;]]
  [-z | --null]
  [-c | --count] [--all-mat…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_hooks&amp;rev=1550574618&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-02-19T11:10:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_hooks</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_hooks&amp;rev=1550574618&amp;do=diff</link>
        <description>Overview

Overview of hooks, concentrating on client-side hooks related to running git commit.

The two types of hooks

Hooks come in two flavours:

	*  client-side
	*  server-side

Note that hooks can get their arguments from any combination of:

	*</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_ignore&amp;rev=1550859480&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-02-22T18:18:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_ignore</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_ignore&amp;rev=1550859480&amp;do=diff</link>
        <description>Overview

How to identify untracked files that Git should intentionally ignore when running numerous commands, such as git add -u, git status, git clean and many more.

Some links:

	*  Sample gitignore files
	*  Generate a gitignore file

Introductory .gitignore

Basic .gitignore file

Excerpts from the Linux kernel source top-level</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_init&amp;rev=1550753876&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-02-21T12:57:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_init</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_init&amp;rev=1550753876&amp;do=diff</link>
        <description>Overview (not quite done here)

Basic and advanced features for initializing a Git repository -- more content to be added.

Working with the template directory

By default, git init will populate your new .git directory with some auto-generated content, plus all of the content of the appropriate</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_install_from_source&amp;rev=1570048588&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-02T20:36:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_install_from_source</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_install_from_source&amp;rev=1570048588&amp;do=diff</link>
        <description>Overview

How to clone, build and install Git as a non-root user.

The recipe

Clone:


$ git clone https://github.com/git/git.git


Configure for personal destination directory:


$ make configure
$ ./configure --prefix=/home/rpjday/newgit


Build and install:</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_instaweb&amp;rev=1550928031&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-02-23T13:20:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_instaweb</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_instaweb&amp;rev=1550928031&amp;do=diff</link>
        <description>Overview

From within a local repository, run:


$ git instaweb



$ man git-instaweb


On Fedora:


$ sudo dnf install git-instaweb</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_log&amp;rev=1552488742&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-13T14:52:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_log</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_log&amp;rev=1552488742&amp;do=diff</link>
        <description>Overview

Discussion of git log, with emphasis on reachability.

Reachability

git log displays repository history based on reachability:


        o---o---o---o---o  master
             \       \
              o---o---o---o---o  next
                           \
                            o---o---o  topic</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_merge&amp;rev=1552482544&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-13T13:09:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_merge</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_merge&amp;rev=1552482544&amp;do=diff</link>
        <description>Overview

Both basic and advanced merging operations.

SYNOPSIS


git merge [-n] [--stat] [--no-commit] [--squash]
     [--[no-]edit]
     [-s &lt;strategy&gt;] [-X &lt;strategy-option&gt;] [-S[&lt;keyid&gt;]]
     [--[no-]allow-unrelated-histories]
     [--[no-]rerere-autoupdate] [-m &lt;msg&gt;]
     [-F &lt;file&gt;] [&lt;commit&gt;...]
git merge --abort
git merge --continue</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_move_uncommitted_changes_to_topic_branch&amp;rev=1552404044&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-12T15:20:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_move_uncommitted_changes_to_topic_branch</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_move_uncommitted_changes_to_topic_branch&amp;rev=1552404044&amp;do=diff</link>
        <description>Overview

How to move a pile of uncommitted changes from master to topic, because they should have been on the topic branch in the first place.

The steps

While still on master, tag the current HEAD for reference later:


$ git tag backup


Commit all your work to</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_mv&amp;rev=1552635568&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-15T07:39:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_mv</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_mv&amp;rev=1552635568&amp;do=diff</link>
        <description>Overview

Issues involving moving/renaming.

	*  Why does Git not track renames?

Operation

“Git has a rename command git mv, but that is just for convenience. The effect is indistinguishable from removing the file and adding another with different name and the same content.”</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_plumbing_porcelain&amp;rev=1551447598&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-01T13:39:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_plumbing_porcelain</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_plumbing_porcelain&amp;rev=1551447598&amp;do=diff</link>
        <description>*  Porcelain: Commands that users are expected to use normally.
	*  Plumbing: Underlying more basic utilities, meant to be used as the foundation for porcelain commands as well as automation utilities, as they are meant to be far more stable.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_pruning&amp;rev=1554343188&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-04T01:59:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_pruning</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_pruning&amp;rev=1554343188&amp;do=diff</link>
        <description>Pruning

Introduction

See man git-fetch, section “PRUNING”.

Fetching and pruning

At one time, I had a couple dead remote tracking branches:


$ git branch -r
  origin/HEAD -&gt; origin/master
  origin/WIP-syscall
  origin/master
  origin/proc-cmdline</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_rebase&amp;rev=1554586457&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-06T21:34:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_rebase</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_rebase&amp;rev=1554586457&amp;do=diff</link>
        <description>Overview

Simple and advanced examples of rebasing.

SYNOPSIS


$ git rebase [-i | --interactive] [&lt;options&gt;]
  [--exec &lt;cmd&gt;] [--onto &lt;newbase&gt;]
  [&lt;upstream&gt; [&lt;branch&gt;]]
  
$ git rebase [-i | --interactive] [&lt;options&gt;]
  [--exec &lt;cmd&gt;] [--onto &lt;newbase&gt;]
  --root [&lt;branch&gt;]
  -
$ git rebase --continue | --skip | --abort | --quit |
   --edit-todo | --show-current-patch</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_reflog&amp;rev=1552403101&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-12T15:05:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_reflog</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_reflog&amp;rev=1552403101&amp;do=diff</link>
        <description>Overview

For refs that move (branches and HEAD), Git keeps a log of when they moved and why.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_remote_ls_remote&amp;rev=1552051659&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-08T13:27:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_remote_ls_remote</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_remote_ls_remote&amp;rev=1552051659&amp;do=diff</link>
        <description>Overview

How to examine a remote with git remote and git ls-remote.

Examine branches

Local branches:


$ git branch
* master
$


Remote branches:


$ git branch -r
  origin/HEAD -&gt; origin/master
  origin/master
$


All branches:


$ git branch -a
* master
  remotes/origin/HEAD -&gt; origin/master
  remotes/origin/master
$</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_remote_tracking_branches&amp;rev=1552038215&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-08T09:43:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_remote_tracking_branches</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_remote_tracking_branches&amp;rev=1552038215&amp;do=diff</link>
        <description>Overview

Remote tracking branches, and how they work.

Terminology

	*  master: local tracking branch (in local object store)
	*  origin/master: remote tracking branch (in local object store)
	*  master on remote system: remote branch

All of these branches can be</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_rev_list&amp;rev=1504861092&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-09-08T08:58:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_rev_list</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_rev_list&amp;rev=1504861092&amp;do=diff</link>
        <description>Overview

git rev-list is used to generate a list of (possibly) raw commit IDs to feed to another command.

SYNPOSIS


git rev-list [ --max-count=&lt;number&gt; ]
             [ --skip=&lt;number&gt; ]
             [ --max-age=&lt;timestamp&gt; ]
             [ --min-age=&lt;timestamp&gt; ]
             [ --sparse ]
             [ --merges ]
             [ --no-merges ]
             [ --min-parents=&lt;number&gt; ]
             [ --no-min-parents ]
             [ --max-parents=&lt;number&gt; ]
             [ --no-max-parents ]
   …</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_revert&amp;rev=1552481389&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-13T12:49:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_revert</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_revert&amp;rev=1552481389&amp;do=diff</link>
        <description>Overview

How to revert one or more commits, dealing with any possible merge conflicts along the way.

SYNOPSIS


git revert [--[no-]edit] [-n] [-m parent-number] [-s] [-S[&lt;keyid&gt;]] &lt;commit&gt;...
git revert --continue
git revert --quit
git revert --abort</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_revisions&amp;rev=1552909535&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-18T11:45:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_revisions</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_revisions&amp;rev=1552909535&amp;do=diff</link>
        <description>Overview

 A small sample of Git revisions; different ways to refer to commits (using Linux kernel source repo).

Basic Git revisions

HEAD (commonly the default) refers to the commit at the tip of the current branch:


$ git show
$ git show HEAD


Commits are also reflected in branch or tag names:</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_searching&amp;rev=1550758628&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-02-21T14:17:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_searching</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_searching&amp;rev=1550758628&amp;do=diff</link>
        <description>Overview

How to search through commit history using either of:

	*  git log
	*  git grep

Examples use the Git repository for the “Pro Git” book found here.

Searching with &quot;git log&quot;

The git log command supports looking for commits by the content of their commit messages, or even the content of the diff they introduced. All examples here can be enhanced with the regular</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_sharing_objects&amp;rev=1552636561&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-15T07:56:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_sharing_objects</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_sharing_objects&amp;rev=1552636561&amp;do=diff</link>
        <description>Overview

How to share objects with other local repositories -- see here.

Commands

Share:


$ echo &quot;/source/git/project/.git/objects&quot; &gt; .git/objects/info/alternates
$ git repack -a -d -l


Unshare (omit -l):


$ git repack -a
$ rm .git/objects/info/alternates</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_shortlog&amp;rev=1552913111&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-18T12:45:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_shortlog</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_shortlog&amp;rev=1552913111&amp;do=diff</link>
        <description>Overview

Most useful options for git shortlog, using “Pro Git” book repo as an example.

SYNOPSIS

Part of it:


git shortlog [&lt;options&gt;] [&lt;revision range&gt;] [[--] &lt;path&gt;...]


(Some) OPTIONS


-n, --numbered
    Sort output according to the number of commits per author
    instead of author alphabetic order.

-s, --summary
    Suppress commit description and provide a commit count
    summary only.
           
    ... snip ...

&lt;revision range&gt;
    Show only commits in the specified revision ra…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_show&amp;rev=1550996224&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-02-24T08:17:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_show</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_show&amp;rev=1550996224&amp;do=diff</link>
        <description>Overview

The git show command can show various types of objects in various formats:

	*  commits
	*  trees
	*  tags
	*  blobs

In addition, git show is used to show the state of repository contents as of a given commit, or even as it is in the index at the moment.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_stash&amp;rev=1551208681&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-02-26T19:18:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_stash</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_stash&amp;rev=1551208681&amp;do=diff</link>
        <description>Overview

Basic operation of git stash, which allows you to save uncommitted work, and recover it later.

SYNOPSIS


git stash list [&lt;options&gt;]
git stash show [&lt;stash&gt;]
git stash drop [-q|--quiet] [&lt;stash&gt;]
git stash ( pop | apply ) [--index] [-q|--quiet] [&lt;stash&gt;]
git stash branch &lt;branchname&gt; [&lt;stash&gt;]
git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
             [-u|--include-untracked] [-a|--all] [-m|--message &lt;message&gt;]
             [--] [&lt;pathspec&gt;...]]
git stash clear
git …</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_submodules&amp;rev=1551294850&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-02-27T19:14:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_submodules</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_submodules&amp;rev=1551294850&amp;do=diff</link>
        <description>Overview

The good and the bad of submodules, using Wind River's Pulsar Linux as a convenient example.

Stuff to add:

	*  git config submodule.&lt;what&gt;.url PRIVATE_URL

Links

	*  man page
	*  Pro Git -- Submodules
	*  GitHub blog post
	*  Atlassian -- Git submodules: core concept, workflows, and tips
	*  Mastering Git submodules (Porteneuve, 2015)
	*  Swap git submodule with own fork
	*  Why your company shouldn’t use Git submodules

SYNOPSIS


git submodule [--quiet] add [&lt;options&gt;] [--] &lt;repos…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_subtree&amp;rev=1518541549&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-13T17:05:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_subtree</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_subtree&amp;rev=1518541549&amp;do=diff</link>
        <description>Overview

The good and the bad of git subtree (mostly the good).

Links

	*  git subtrees: a tutorial (2014)
	*  Atlassian -- 
Git subtree: the alternative to Git submodule (2013)
	*  Understanding Git subtree (2014)
	*  Atlassian -- The power of Git subtree (2015)
	*  Mastering Git subtrees (2016)
	*  A real world usage for Git subtrees
	*  Using Git subtrees for repository separation (2013)
	*  Using Git subtrees to split a repository (2014)

Synopsis


NAME
       git-subtree - Merge subtrees…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_undoing_things&amp;rev=1551184365&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-02-26T12:32:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_undoing_things</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_undoing_things&amp;rev=1551184365&amp;do=diff</link>
        <description>Overview

Various ways to undo, backpedal and regret what you just did.

The state of files

For what follows, each file has three states:

	*  HEAD: its state as of the most recent commit on this branch
	*  staged: the changes added to the index
	*</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_whitespace&amp;rev=1551809702&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-05T18:15:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_whitespace</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_whitespace&amp;rev=1551809702&amp;do=diff</link>
        <description>Overview

 A moderately (dis)organized list of features related to dealing with whitespace issues in Git, in no particular order. It's a matter of some debate whether EOL standardization is simply a subet of whitespace issues, or whether it deserves its own page.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_workflow&amp;rev=1527145189&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-05-24T06:59:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_workflow</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_workflow&amp;rev=1527145189&amp;do=diff</link>
        <description>Overview

Variations on Git workflow.

Links:

	*  Oliver Steele's Git Workflow</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_worktree&amp;rev=1551860641&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-06T08:24:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_worktree</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_worktree&amp;rev=1551860641&amp;do=diff</link>
        <description>Overview

How to create, use and remove worktrees, as an alternative to constantly stashing and popping when you need to change contexts.

DESCRIPTION

From man git-worktree:


A git repository can support multiple working trees, allowing
you to check out more than one branch at a time. With git
worktree add a new working tree is associated with the
repository. This new working tree is called a &quot;linked working
tree&quot; as opposed to the &quot;main working tree&quot; prepared by &quot;git
init&quot; or &quot;git clone&quot;. A r…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git_writing_an_arbitrary_blob&amp;rev=1749815808&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-13T11:56:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git_writing_an_arbitrary_blob</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git_writing_an_arbitrary_blob&amp;rev=1749815808&amp;do=diff</link>
        <description>Overview

How to write an arbitrary blob to a repository to add “supplemental” information, such as contact information or your public GPG key, but without making that blob part of the standard history.

NOTE: Junio Hamano eventually decided this was a bad idea, as you can see here:</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=git&amp;rev=1569956596&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-01T19:03:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git</title>
        <link>https://crashcourse.ca/doku/doku.php?id=git&amp;rev=1569956596&amp;do=diff</link>
        <description>Current wiki pages

New (yes, new) Git pages as of February, 2019

Every Git page below this section is a candidate for current updating -- many of those pages are still just fine, but are subject to improvement in the near future.

	*  Git all commands
	*  Git plumbing porcelain
	*  Git init
	*</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=gnu_make&amp;rev=1570883644&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-12T12:34:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>gnu_make</title>
        <link>https://crashcourse.ca/doku/doku.php?id=gnu_make&amp;rev=1570883644&amp;do=diff</link>
        <description>Overview

This and that about GNU make.

	*  prerequisites are free to be satisfied in any order
	*  .DEFAULT_GOAL special variable</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=go_env&amp;rev=1523379872&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-04-10T17:04:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>go_env</title>
        <link>https://crashcourse.ca/doku/doku.php?id=go_env&amp;rev=1523379872&amp;do=diff</link>
        <description>Overview

Standard Go environment, and some details.

go env


$ go env
GOARCH=&quot;amd64&quot;
GOBIN=&quot;&quot;
GOCACHE=&quot;/home/rpjday/.cache/go-build&quot;
GOEXE=&quot;&quot;
GOHOSTARCH=&quot;amd64&quot;
GOHOSTOS=&quot;linux&quot;
GOOS=&quot;linux&quot;
GOPATH=&quot;/home/rpjday/go&quot;
GORACE=&quot;&quot;
GOROOT=&quot;/usr/lib/golang&quot;
GOTMPDIR=&quot;&quot;
GOTOOLDIR=&quot;/usr/lib/golang/pkg/tool/linux_amd64&quot;
GCCGO=&quot;gccgo&quot;
CC=&quot;gcc&quot;
CXX=&quot;g++&quot;
CGO_ENABLED=&quot;1&quot;
CGO_CFLAGS=&quot;-g -O2&quot;
CGO_CPPFLAGS=&quot;&quot;
CGO_CXXFLAGS=&quot;-g -O2&quot;
CGO_FFLAGS=&quot;-g -O2&quot;
CGO_LDFLAGS=&quot;-g -O2&quot;
PKG_CONFIG=&quot;pkg-config&quot;
GOGCCFLAGS=&quot;-f…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=go_fedora_packages&amp;rev=1566035962&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-17T09:59:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>go_fedora_packages</title>
        <link>https://crashcourse.ca/doku/doku.php?id=go_fedora_packages&amp;rev=1566035962&amp;do=diff</link>
        <description>Overview

golang on Fedora 30 ... and beyond.

Base packages

	*  golang
		*  golang-src
		*  golang-bin
		*  go-srpm-macros

	*  dep

go env


GOARCH=&quot;amd64&quot;
GOBIN=&quot;&quot;
GOCACHE=&quot;/home/rpjday/.cache/go-build&quot;
GOEXE=&quot;&quot;
GOFLAGS=&quot;&quot;
GOHOSTARCH=&quot;amd64&quot;
GOHOSTOS=&quot;linux&quot;
GOOS=&quot;linux&quot;
GOPATH=&quot;/home/rpjday/go&quot;               [personal workspace]
GOPROXY=&quot;&quot;
GORACE=&quot;&quot;
GOROOT=&quot;/usr/lib/golang&quot;               [Go installation workspace]
GOTMPDIR=&quot;&quot;
GOTOOLDIR=&quot;/usr/lib/golang/pkg/tool/linux_amd64&quot;
GCCGO=&quot;gccgo&quot;
C…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=go_tour_notes&amp;rev=1523696241&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-04-14T08:57:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>go_tour_notes</title>
        <link>https://crashcourse.ca/doku/doku.php?id=go_tour_notes&amp;rev=1523696241&amp;do=diff</link>
        <description>STUFF (tour)

	*  explain early that functions are not polymorphic (basics section)
	*  earlier: type aliasing (which introduces a new type, not just an alias, except for byte and rune)
	*  swap first two pages of Methods section
	*  I would move closures later (possibly after methods)</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=go&amp;rev=1566725907&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-25T09:38:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>go</title>
        <link>https://crashcourse.ca/doku/doku.php?id=go&amp;rev=1566725907&amp;do=diff</link>
        <description>Overview

Stuff regarding Go programming language.

Figure out/Stuff

	*  proper brace placement to avoid semicolon insertion
	*  “import path” versus “package name” (factored import statement)
	*  fmt.Printf() format specifiers
	*  named return values (explicit or allow to default)</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=golangbot_tutorial&amp;rev=1566903146&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-27T10:52:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>golangbot_tutorial</title>
        <link>https://crashcourse.ca/doku/doku.php?id=golangbot_tutorial&amp;rev=1566903146&amp;do=diff</link>
        <description>Overview

Notes on Golangbot Golang tutorial series.

The primary focus of Golang is to make the development of highly available and scalable web apps simple and easy.

Misc

	*  “_” is the “blank identifier”
	*  Concurrency
	*  Compiled
	*  Static linking
	*  Go Playground
	*  Linux based IDEs?</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=hierarchical_device_files&amp;rev=1544533724&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-12-11T13:08:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>hierarchical_device_files</title>
        <link>https://crashcourse.ca/doku/doku.php?id=hierarchical_device_files&amp;rev=1544533724&amp;do=diff</link>
        <description>Overview

How hierarachical device files with respect to Yocto Project.

beaglebone.conf

As an example, Poky's beaglebone.conf file, which specifies the creation of three related .dtb files:


...
KERNEL_IMAGETYPE = &quot;zImage&quot;
KERNEL_DEVICETREE = &quot;am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb&quot;
KERNEL_EXTRA_ARGS += &quot;LOADADDR=${UBOOT_ENTRYPOINT}&quot;
...</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=how_to_use_google_repo&amp;rev=1587467232&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-21T11:07:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>how_to_use_google_repo</title>
        <link>https://crashcourse.ca/doku/doku.php?id=how_to_use_google_repo&amp;rev=1587467232&amp;do=diff</link>
        <description>Overview

This is a tutorial on how to use Google's repo version control tool, as many people seem to have trouble getting a handle on its proper operation, and most of the documentation doesn't seem all that helpful in terms of clarification. For this tutorial, we'll be using AGL (Automotive Grade Linux) as an example.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=hyperledger_fabric_how_many&amp;rev=1526566300&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-05-17T14:11:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>hyperledger_fabric_how_many</title>
        <link>https://crashcourse.ca/doku/doku.php?id=hyperledger_fabric_how_many&amp;rev=1526566300&amp;do=diff</link>
        <description>Overview: How Many?

This page will attempt to count how many of each component of a Hyperledger Fabric network there can be and, in answering that, proceed to explain where those components come from.

Stay tuned ...

So ... how many?

Networks

Addressing whether it was ever appropriate to create a whole new HF network as opposed to just adding channels to an existing network,</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=hyperledger_on_fedora&amp;rev=1525173608&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-05-01T11:20:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>hyperledger_on_fedora</title>
        <link>https://crashcourse.ca/doku/doku.php?id=hyperledger_on_fedora&amp;rev=1525173608&amp;do=diff</link>
        <description>Overview

What it takes to get Hyperledger Fabric running on current Fedora.

Required packages

According to this page, we need this as a starting point:

	*  cURL
	*  Node.js
	*  npm package manager
	*  Go
	*  Docker
	*  Docker Compose

With respect to Fedora, that means:</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=hyperledger_sawtooth&amp;rev=1521543575&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-03-20T10:59:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>hyperledger_sawtooth</title>
        <link>https://crashcourse.ca/doku/doku.php?id=hyperledger_sawtooth&amp;rev=1521543575&amp;do=diff</link>
        <description>Overview

Notes on Sawtooth, based on EDX course chapter for the time being.

Installation on Fedora


$ sudo dnf install docker-ce docker-compose
$ sudo dnf install nodejs npm
$ sudo dnf install golang
$ sudo dnf install curl


Check versions:


$ docker --version
$ docker-compose --version
$ npm --version
$ node --version
$ go version</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=i2c_ioctl_structures&amp;rev=1542805860&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-21T13:11:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>i2c_ioctl_structures</title>
        <link>https://crashcourse.ca/doku/doku.php?id=i2c_ioctl_structures&amp;rev=1542805860&amp;do=diff</link>
        <description>Overview

User space structures used by I2C ioctl().

Structures

i2c_msg

From include/uapi/linux/i2c.h:


/**
 * struct i2c_msg - an I2C transaction segment beginning with START
 * @addr: Slave address, either seven or ten bits.  When this is a ten
 *      bit address, I2C_M_TEN must be set in @flags and the adapter
 *      must support I2C_FUNC_10BIT_ADDR.
 * @flags: I2C_M_RD is handled by all adapters.  No other flags may be
 *      provided unless the adapter exported the relevant I2C_FUNC_…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=i2c_smbus&amp;rev=1542805751&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-21T13:09:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>i2c_smbus</title>
        <link>https://crashcourse.ca/doku/doku.php?id=i2c_smbus&amp;rev=1542805751&amp;do=diff</link>
        <description>Overview

Kernel issues related to I2C and SMBus.

Files

	*  Documentation/
		*  i2c/
		*  devicetree/
			*  bindings/
				*  i2c/



	*  include/
		*  linux/
			*  i2c.h
			*  i2c-dev.h
			*  i2c-algo-bit.h
			*  i2c-smbus.h

		*  uapi/
			*  linux/
				*  i2c.h
				*  i2c-dev.h



	*  drivers/
		*  i2c/
			*  i2c-dev.c



Internal wiki pages

	*  i2c ioctl structures</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=ifreq_ethtool&amp;rev=1535871372&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-02T06:56:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ifreq_ethtool</title>
        <link>https://crashcourse.ca/doku/doku.php?id=ifreq_ethtool&amp;rev=1535871372&amp;do=diff</link>
        <description>Overview

Notes on ethtool and underlying kernel hooks/code.

General links:

	*  ethtool git repo

Kernel source links:

	*  include/
		*  uapi/
			*  linux/
				*  if.h (for struct ifreq)
				*  sockios.h (for SIOCETHTOOL}
				*  ethtool.h




Userspace and struct ifreq

From ethtool's internal.h:


/* Context for sub-commands */
struct cmd_context {
        const char *devname;    /* net device name */
        int fd;                 /* socket suitable for ethtool ioctl */
        struct ifre…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=interrupts&amp;rev=1539947208&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-19T11:06:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>interrupts</title>
        <link>https://crashcourse.ca/doku/doku.php?id=interrupts&amp;rev=1539947208&amp;do=diff</link>
        <description>Overview

Discussion of basic interrupt configuration.

Links

	*  include/
		*  linux/
			*  irq.h
			*  irqchip.h
			*  irqdesc.h
			*  irqdomain.h
			*  irqflags.h
			*  irqhandler.h
			*  irqnr.h
			*  irqreturn.h
			*  of_irq.h
			*  irqchip/


	*  drivers/
		*  irqchip/
		*  of/
			*  irq.c



Internal links:

	*  irqchip</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=introduction_to_git&amp;rev=1537627683&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-22T14:48:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>introduction_to_git</title>
        <link>https://crashcourse.ca/doku/doku.php?id=introduction_to_git&amp;rev=1537627683&amp;do=diff</link>
        <description>Introduction to Git (1 day)

This course is a fairly intense introduction to the Git version control system, beginning with a brief historical overview of Git, then launching quickly into basic usage, cloning Git repositories, the basic local Git workflow, undoing both local and committed changes, tags, branches, merging, stashing and quite a bit more.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=ip_command&amp;rev=1534599993&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-18T13:46:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ip_command</title>
        <link>https://crashcourse.ca/doku/doku.php?id=ip_command&amp;rev=1534599993&amp;do=diff</link>
        <description>Overview

Usage of the ip command for network management. (Other relevant commands include ifconfig, netstat, ...)

Links:

	*  Red Hat cheat sheet

help


$ ip help
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
       ip [ -force ] -batch filename
where  OBJECT := { link | address | addrlabel | route | rule | neigh | ntable |
                   tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm |
                   netns | l2tp | fou | macsec | tcp_metrics | token | netconf | ila |
…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=ip_up_down&amp;rev=1538651394&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-04T11:09:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ip_up_down</title>
        <link>https://crashcourse.ca/doku/doku.php?id=ip_up_down&amp;rev=1538651394&amp;do=diff</link>
        <description>Overview

Control flow when running one of:

	*  ip link show
	*  ip link show eth0
	*  ip link set eth0 up
	*  ip link set eth0 down

Links:

	*  iproute2

Issues:

	*  iplink.c redefines iplink_req for no reason (line 218)
	*  Define HAVE_LIBMNL for error support.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=ipp_up_and_iff_running&amp;rev=1535367784&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-27T11:03:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ipp_up_and_iff_running</title>
        <link>https://crashcourse.ca/doku/doku.php?id=ipp_up_and_iff_running&amp;rev=1535367784&amp;do=diff</link>
        <description>Overview

Testing the effect of interface manipulation on the values of IFF_UP and IFF_RUNNING.

Links:

	*  operstates.txt

Flags

Issues:

	*  Is IFF_LOWER_UP significant?
	*  Can we use IFF_DEBUG?
	*  Understand actual meaning of “volatile”.

From include/uapi/linux/if.h</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=irqchip&amp;rev=1539947387&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-19T11:09:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>irqchip</title>
        <link>https://crashcourse.ca/doku/doku.php?id=irqchip&amp;rev=1539947387&amp;do=diff</link>
        <description>Overview

Structure of irqchip.

IRQCHIP_DECLARE

Samples:


irq-bcm6345-l1.c:IRQCHIP_DECLARE(bcm6345_l1, &quot;brcm,bcm6345-l1-intc&quot;, bcm6345_l1_of_init);
irq-bcm7038-l1.c:IRQCHIP_DECLARE(bcm7038_l1, &quot;brcm,bcm7038-l1-intc&quot;, bcm7038_l1_of_init);
irq-bcm7120-l2.c:IRQCHIP_DECLARE(bcm7120_l2_intc, &quot;brcm,bcm7120-l2-intc&quot;,
irq-bcm7120-l2.c:IRQCHIP_DECLARE(bcm3380_l2_intc, &quot;brcm,bcm3380-l2-intc&quot;,
irq-brcmstb-l2.c:IRQCHIP_DECLARE(brcmstb_l2_intc, &quot;brcm,l2-intc&quot;, brcmstb_l2_edge_intc_of_init);</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=jenkins_on_fedora&amp;rev=1566504612&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-22T20:10:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>jenkins_on_fedora</title>
        <link>https://crashcourse.ca/doku/doku.php?id=jenkins_on_fedora&amp;rev=1566504612&amp;do=diff</link>
        <description>Overview

Installing, configuring and testing Jenkins on Fedora.

Links:

	*  &lt;https://jenkins.io/doc/&gt;
	*  &lt;https://wiki.jenkins.io/display/JENKINS/Installing+Jenkins+on+Red+Hat+distributions&gt;

Packages

jenkins


$ rpm -ql jenkins
/etc/jenkins
/usr/lib/systemd/system/jenkins.service
/usr/libexec/jenkins
/usr/libexec/jenkins/jenkins
/usr/share/jenkins
/usr/share/jenkins/plugins
/var/lib/jenkins
/var/log/jenkins
$</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=kernel_topics&amp;rev=1554632112&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-07T10:15:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kernel_topics</title>
        <link>https://crashcourse.ca/doku/doku.php?id=kernel_topics&amp;rev=1554632112&amp;do=diff</link>
        <description>Kbuild system

General setup

cgroups

namespaces

System calls

UAPI

IRQ

Concurrency

mutex

semaphore

spinlock

completion

RCU

Timers

Standard timers

HR timers

Tickless kernel

Driver model

Device model

Debugging

Macros

Dynamic debugging</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=kernel.exec-shield&amp;rev=1534603186&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-18T14:39:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kernel.exec-shield</title>
        <link>https://crashcourse.ca/doku/doku.php?id=kernel.exec-shield&amp;rev=1534603186&amp;do=diff</link>
        <description>Overview

What is the purpose of kernel.exec-shield?

Links:

	*  Linux Disable or Enable ExecShield Buffer Overflows Protection (2009)
	*  Urban Penguin (2018)</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=kernel&amp;rev=1564257261&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-07-27T19:54:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kernel</title>
        <link>https://crashcourse.ca/doku/doku.php?id=kernel&amp;rev=1564257261&amp;do=diff</link>
        <description>Linux kernel info and subpages -- a ton of this needs to be updated or tossed at this point.

New topics page here.

Linux kernel subtopics

	*  cgroupsv2
	*  SATA port multipliers
	*  User mode helper
	*  Printing/debugging
	*  Working with device trees
	*  ASLR
	*  kernel.exec-shield
	*  console loglevel
	*  sysfs
	*  interrupts
	*  I2C SMBus
	*  CAN LIN buses

Networking topics (NEW)

	*  phy.h

Networking topics (OLD)</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=kubernetes_github_workflow&amp;rev=1523197300&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-04-08T14:21:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kubernetes_github_workflow</title>
        <link>https://crashcourse.ca/doku/doku.php?id=kubernetes_github_workflow&amp;rev=1523197300&amp;do=diff</link>
        <description>Overview

How to contribute to Kubernetes via GitHub.

The workflow

First, create a GitHub fork of &lt;https://github.com/kubernetes/kubernetes&gt;.

Create the appropriate Go working directory:


$ mkdir -p ~/go/src/k8s.io
$ cd ~/go/src/k8s.io


Make a local clone of your GitHub fork:


$ git clone https://github.com/rpjday/kubernetes</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=kubernetes_install_on_fedora&amp;rev=1523268906&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-04-09T10:15:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kubernetes_install_on_fedora</title>
        <link>https://crashcourse.ca/doku/doku.php?id=kubernetes_install_on_fedora&amp;rev=1523268906&amp;do=diff</link>
        <description>Overview

How to install Kubernetes on Fedora 28 using downloadable binary tarballs, based on the installation script you can find here. What this page does is explain what that script accomplishes. Note this does not allow you to build the source, only to run the binaries.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=kubernetes_on_fedora&amp;rev=1523183031&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-04-08T10:23:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kubernetes_on_fedora</title>
        <link>https://crashcourse.ca/doku/doku.php?id=kubernetes_on_fedora&amp;rev=1523183031&amp;do=diff</link>
        <description>Getting Kubernetes

kubernetes.io

	*  https://kubernetes.io/
		*  Documentation
		*  Blog


Main GitHub links

	*  Top level
		*  Source
		*  ChangeLog (v1.10.0)


Installation script

Script is here, run one of:


$ wget -q -O - https://get.k8s.io | bash
$ curl -fsSL https://get.k8s.io | bash


Installation tarballs</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=kubernetes&amp;rev=1523209432&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-04-08T17:43:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kubernetes</title>
        <link>https://crashcourse.ca/doku/doku.php?id=kubernetes&amp;rev=1523209432&amp;do=diff</link>
        <description>Overview

Top-level and sub-pages regarding Kubernbetes.

External links

	*  https://kubernetes.io/
			*  Documentation
			*  Blog

	*  https://github.com/kubernetes

Internal wiki pages

	*  Kubernetes GitHub Workflow
	*  Install Kubernetes on Fedora 28</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=linux_device_trees&amp;rev=1544533438&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-12-11T13:03:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux_device_trees</title>
        <link>https://crashcourse.ca/doku/doku.php?id=linux_device_trees&amp;rev=1544533438&amp;do=diff</link>
        <description>Overview

Stuff related to device trees and the Linux kernel, using examples from the current Linux kernel.

TO DO

	*  overlays
	*  keywords (/plugin/, /memreserve/, /omit-if-no-ref/, /bits/)

MISC (for now)

	*  “The unit-address must match the first address specified in the reg property of the node. If the node has no reg property, the @unit-address must be omitted and the node-name alone differentiates the node from other nodes at the same level in the tree. The binding for a particular bus …</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=linux_expr_command&amp;rev=1568803490&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-18T10:44:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux_expr_command</title>
        <link>https://crashcourse.ca/doku/doku.php?id=linux_expr_command&amp;rev=1568803490&amp;do=diff</link>
        <description>Overview

I think the Linux expr command is woefully underused for matching and extraction of substrings using basic regular expressions, so herewith a quick primer.

Consider a fully-qualified package name with version number and, say, patch level number:</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=linux_kernel_cleanup&amp;rev=1751461396&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-02T13:03:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux_kernel_cleanup</title>
        <link>https://crashcourse.ca/doku/doku.php?id=linux_kernel_cleanup&amp;rev=1751461396&amp;do=diff</link>
        <description>Overview

Several years ago, I wrote a number of Linux kernel “cleanup” scripts that scanned the kernel source tree to identify obvious candidates for cleanup or simplification. The first few scripts are below, and they are admittedly imperfect as there is no way to consider every possible variation of what they look for, so they will almost certainly display some false positives. The point here is that Linux kernel</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=lk_usermodehelper&amp;rev=1550157494&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-02-14T15:18:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>lk_usermodehelper</title>
        <link>https://crashcourse.ca/doku/doku.php?id=lk_usermodehelper&amp;rev=1550157494&amp;do=diff</link>
        <description>Overview

Fundamentals of Linux kernel usermodehelper functionality.

Links (coming soon):

Files

	*  include/linux/umh.h
	*  kernel/umh.c
	*  security/Kconfig

include/linux/umh.h

Types of execs


#define UMH_NO_WAIT     0       /* don't wait at all */
#define UMH_WAIT_EXEC   1       /* wait for the exec, but not the process */
#define UMH_WAIT_PROC   2       /* wait for the process to complete */
#define UMH_KILLABLE    4       /* wait for EXEC/PROC killable */</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=logging&amp;rev=1534702416&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-19T18:13:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>logging</title>
        <link>https://crashcourse.ca/doku/doku.php?id=logging&amp;rev=1534702416&amp;do=diff</link>
        <description>Overview

Random thoughts on logging in Linux.

man pages:

	*  syslog.conf(5) man page
	*  syslogd(8) man page
	*  klogd(8) man page
	*  sysklogd(8) man page
	*  logger(1) man page
	*  syslog(3) man page

Other links:

	*  System Log Management and Monitoring (etutorials)</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=lxc_on_fedora_28&amp;rev=1524339137&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-04-21T19:32:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>lxc_on_fedora_28</title>
        <link>https://crashcourse.ca/doku/doku.php?id=lxc_on_fedora_28&amp;rev=1524339137&amp;do=diff</link>
        <description>Overview

Getting LXC up and running on Fedora 28.

External links

	*  Fedora wiki LXC page
	*  How to install and setup LXC (Linux Container) on Fedora Linux 26</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=madieu_linux_device_drivers_development&amp;rev=1548244457&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-01-23T11:54:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>madieu_linux_device_drivers_development</title>
        <link>https://crashcourse.ca/doku/doku.php?id=madieu_linux_device_drivers_development&amp;rev=1548244457&amp;do=diff</link>
        <description>Overview

Ongoing notes for Madieu's book.

FIGURE OUT

General

	*  How CONFIG_EXTRA_FIRMWARE_DIR is used.
	*  Difference between ARM toolchains.
	*  make xconfig (PKG_CONFIG_PATH)
	*  scripts/cleanfile

Modules

	*  /etc/modules-load.d/&lt;filename&gt;.conf</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=mcimx6q-sbc&amp;rev=1507142056&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-10-04T18:34:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>mcimx6q-sbc</title>
        <link>https://crashcourse.ca/doku/doku.php?id=mcimx6q-sbc&amp;rev=1507142056&amp;do=diff</link>
        <description>Overview

Figure out how to play both mono and stereo .wav files through the headphones on a Freescale MCIMX6Q-SDB running a stock core-image-minimal with only added recipe alsa-utils.

Some /sys/kernel/debug/ files to check out later:

	*  /sys/kernel/debug/asoc/&lt;cardname&gt;/&lt;codecname&gt;/dapm/*</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=meta-xilinx_and_zcu102-zynqmp&amp;rev=1574411545&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-11-22T08:32:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>meta-xilinx_and_zcu102-zynqmp</title>
        <link>https://crashcourse.ca/doku/doku.php?id=meta-xilinx_and_zcu102-zynqmp&amp;rev=1574411545&amp;do=diff</link>
        <description>Overview

Steps in building for ZCU102 using stock YP and meta-xilinx-bsp layer.

Layers

Check out:

	*  poky [warrior]
	*  meta-openembedded/meta-oe [master]
	*  meta-xilinx [master]

MACHINE = “zcu102-zynqmp”

bblayers.conf


BBLAYERS ?= &quot; \
  /home/rpjday/oe/dist/layers/poky/meta \
  /home/rpjday/oe/dist/layers/poky/meta-poky \
  /home/rpjday/oe/dist/layers/poky/meta-yocto-bsp \
  /home/rpjday/oe/dist/layers/meta-openembedded/meta-oe \
  /home/rpjday/oe/dist/layers/xilinx/meta-xilinx/meta-xi…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=mii_and_mdio&amp;rev=1539083180&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-09T11:06:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>mii_and_mdio</title>
        <link>https://crashcourse.ca/doku/doku.php?id=mii_and_mdio&amp;rev=1539083180&amp;do=diff</link>
        <description>Overview

In-kernel structures for MII and MDIO.

Links

	*  Use The MDIO Bus To Interrogate Complex Devices
	*  MDIO Background
	*  Clause 22 Access to
Clause 45 Registers
	*  Intel MDIO Clause 45

Files

	*  include/
		*  uapi/
			*  linux/
				*  mii.h
				*  mdio.h


		*  linux/
			*  mii.h
			*  mdio.h
			*  of_mdio.h
			*  phy.h


	*  drivers/
		*  net/
			*  mii.c
			*  mdio.c

		*  of/
			*  of_mdio.c



MII</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=ndo_change_carrier&amp;rev=1533403876&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-04T17:31:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ndo_change_carrier</title>
        <link>https://crashcourse.ca/doku/doku.php?id=ndo_change_carrier&amp;rev=1533403876&amp;do=diff</link>
        <description>Overview

Setting/detecting carrier, and the subsequent implications of setting net_device_ops ndo_change_carrier field (if any implications actually exist):

Normal behaviour

Net device state

From include/linux/netdevice.h:

Net device state:


struct net_device {
        ... snip ...
        unsigned long           state;
        ... snip ...</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=net_device_attributes&amp;rev=1533135940&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-01T15:05:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>net_device_attributes</title>
        <link>https://crashcourse.ca/doku/doku.php?id=net_device_attributes&amp;rev=1533135940&amp;do=diff</link>
        <description>Overview

Discussion about how net cable connect and disconnect are reflected in /sys.

/sys/class/net/enp3s0/ files


-r--r--r--. 1 root root 4096 Aug  1 10:41 addr_assign_type
-r--r--r--. 1 root root 4096 Aug  1 10:41 address
-r--r--r--. 1 root root 4096 Aug  1 10:41 addr_len
-r--r--r--. 1 root root 4096 Aug  1 10:41 broadcast
-rw-r--r--. 1 root root 4096 Aug  1 10:41 carrier
-r--r--r--. 1 root root 4096 Aug  1 10:41 carrier_changes
-r--r--r--. 1 root root 4096 Aug  1 10:41 carrier_down_count
…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=net_ioctl&amp;rev=1536057093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-04T10:31:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>net_ioctl</title>
        <link>https://crashcourse.ca/doku/doku.php?id=net_ioctl&amp;rev=1536057093&amp;do=diff</link>
        <description>Overview

How net-based IOCTL calls are made -- prerequisite for other wiki pages.

UAPI links:

	*  include/
		*  uapi/
			*  linux/
				*  if.h (for struct ifreq)
				*  sockios.h (for IOCTL commands)




Kernel links:

	*  net/
		*  socket.c (struct file_operations socket_file_ops)
		*  core/
			*</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=network_namespaces&amp;rev=1534695886&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-19T16:24:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>network_namespaces</title>
        <link>https://crashcourse.ca/doku/doku.php?id=network_namespaces&amp;rev=1534695886&amp;do=diff</link>
        <description>Overview

How to use network namespaces and ip netns to tie two ports together in order to ping out one port and to the other.

Links:

	*  ip-netns (8) man page
	*  Introducing Linux Network Namespaces (Scott Lowe's Blog, Sep 2013)
	*  Linux Network Namespaces (Open Cloud Blog, Sep 2013)
	*  Namespaces in operation, part 7: Network namespaces (LWN.net, Jan 2014)
		*  Full namespace series

	*  Linux network namespaces - ping fails on specific veth (Server Fault, 2014)
	*  Linux network namespac…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=new_fedora_kernel&amp;rev=1560689555&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-06-16T12:52:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>new_fedora_kernel</title>
        <link>https://crashcourse.ca/doku/doku.php?id=new_fedora_kernel&amp;rev=1560689555&amp;do=diff</link>
        <description>Overview

How to build a state-of-the-art kernel for Fedora 30+.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=oclug_dev_kits&amp;rev=1517945391&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-06T19:29:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>oclug_dev_kits</title>
        <link>https://crashcourse.ca/doku/doku.php?id=oclug_dev_kits&amp;rev=1517945391&amp;do=diff</link>
        <description>Overview

Kits to give away at OCLUG.

Wandboard Quad (i.MX6)

	*  Home page
	*  Board, plastic case and 5V power supply

TS-4800 plus TS-8160 baseboard

	*  TS-4800 embedded computer-on-module
	*  TS-8160 TS-SOCKET Baseboard
	*  9V power supply
	*  DB9 serial cable

ZOOM AM1808 eXperimenter kit

	*  Home page
	*  5V power supply</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=oe_yp_backfill&amp;rev=1586606777&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-11T12:06:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>oe_yp_backfill</title>
        <link>https://crashcourse.ca/doku/doku.php?id=oe_yp_backfill&amp;rev=1586606777&amp;do=diff</link>
        <description>Overview

How backfilling works.

Files

documentation.conf


DISTRO_FEATURES[doc] = &quot;The features enabled for the distribution.&quot;
DISTRO_FEATURES_BACKFILL[doc] = &quot;Features to be added to DISTRO_FEATURES if not also present in DISTRO_FEATURES_BACKFILL_CONSIDERED. This variable is set in the meta/conf/bitbake.conf file and it is not intended to be user-configurable.&quot;
DISTRO_FEATURES_BACKFILL_CONSIDERED[doc] = &quot;Features from DISTRO_FEATURES_BACKFILL that should not be backfilled (i.e. added to DIST…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=oe_yp_new_tarballs.sh&amp;rev=1582297321&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-21T15:02:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>oe_yp_new_tarballs.sh</title>
        <link>https://crashcourse.ca/doku/doku.php?id=oe_yp_new_tarballs.sh&amp;rev=1582297321&amp;do=diff</link>
        <description>new_tarballs.sh


#!/bin/sh

for f in *.gz *.tgz *.bz2 *.xz *.rpm *.zip *.bin ; do
        if [ -f $f -a ! -h $f ] ; then
                echo &quot;Copying $f ...&quot; ; cp $f ~/oe/dist/tarballs/
        fi
done


site.conf


SCONF_VERSION = &quot;1&quot;
SOURCE_MIRROR_URL ?= &quot;file:///home/rpjday/oe/dist/tarballs/&quot;
INHERIT += &quot;own-mirrors&quot;
BB_GENERATE_MIRROR_TARBALLS = &quot;1&quot;
# BB_NO_NETWORK = &quot;1&quot;</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=oe_yp_python3_recipes&amp;rev=1592327960&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-16T17:19:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>oe_yp_python3_recipes</title>
        <link>https://crashcourse.ca/doku/doku.php?id=oe_yp_python3_recipes&amp;rev=1592327960&amp;do=diff</link>
        <description>Overview

Standards for pypi/setuptools3-based recipes.

pypi.bbclass


def pypi_package(d):
    bpn = d.getVar('BPN')
    if bpn.startswith('python-'):
        return bpn[7:]
    elif bpn.startswith('python3-'):
        return bpn[8:]
    return bpn

PYPI_PACKAGE ?= &quot;${@pypi_package(d)}&quot;
PYPI_PACKAGE_EXT ?= &quot;tar.gz&quot;

def pypi_src_uri(d):
    package = d.getVar('PYPI_PACKAGE')
    package_ext = d.getVar('PYPI_PACKAGE_EXT')
    pv = d.getVar('PV')
    return 'https://files.pythonhosted.org/packag…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=oe_yp_users_groups&amp;rev=1586629666&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-11T18:27:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>oe_yp_users_groups</title>
        <link>https://crashcourse.ca/doku/doku.php?id=oe_yp_users_groups&amp;rev=1586629666&amp;do=diff</link>
        <description>Overview

Customizing users and groups on a systemd-based (QEMU) system:


INIT_MANAGER = &quot;systemd&quot;


and making use of rootfs-postcommands.

image.bbclass and IMGCLASSES


# Handle inherits of any of the image classes we need
IMGCLASSES = &quot;rootfs_${IMAGE_PKGTYPE} image_types ${IMAGE_CLASSES}&quot;
# Only Linux SDKs support populate_sdk_ext, fall back to populate_sdk_base
# in the non-Linux SDK_OS case, such as mingw32
IMGCLASSES += &quot;${@['populate_sdk_base', 'populate_sdk_ext']['linux' in d.getVar(&quot;S…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=oe-pkgdata-util&amp;rev=1585318034&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-27T14:07:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>oe-pkgdata-util</title>
        <link>https://crashcourse.ca/doku/doku.php?id=oe-pkgdata-util&amp;rev=1585318034&amp;do=diff</link>
        <description>Overview

Cool features of oe-pkgdata-util utility; works only on built content, and based on contents of tmp/pkgdata/&lt;arch&gt;/.

See also oe-pkgdata-browser.

list-pkgs

List all packages.


$ oe-pkgdata-util list-pkgs
acl
acl-dbg
acl-dev
acl-doc
acl-locale-de
acl-locale-en+boldquot
acl-locale-en+quot
acl-locale-es
acl-locale-fr
acl-locale-gl
acl-locale-pl
acl-locale-sv
acl-ptest
acl-src
attr
attr-dbg
attr-dev
attr-doc
... snip ...
busybox
busybox-dbg
busybox-dev
busybox-hwclock
busybox-ptest
bus…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=open_source_eda&amp;rev=1554712211&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-08T08:30:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>open_source_eda</title>
        <link>https://crashcourse.ca/doku/doku.php?id=open_source_eda&amp;rev=1554712211&amp;do=diff</link>
        <description>Overview

Open source electronic design automation (EDA).

Links

	*  &lt;http://www.gpleda.org/&gt;</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=operstate&amp;rev=1535368057&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-27T11:07:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>operstate</title>
        <link>https://crashcourse.ca/doku/doku.php?id=operstate&amp;rev=1535368057&amp;do=diff</link>
        <description>Overview

Dissection of how operstate works (RFC 2863).


3.1.14.  IfOperStatus in an Interface Stack

   When an interface is a part of an interface-stack, but is not the
   lowest interface in the stack, then:

   (1)   ifOperStatus has the value 'up' if it is able to pass packets
         due to one or more interfaces below it in the stack being 'up',
         irrespective of whether other interfaces below it are 'down', '
         dormant', 'notPresent', 'lowerLayerDown', 'unknown' or '
    …</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=panel_upgrade&amp;rev=1767188469&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-31T13:41:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>panel_upgrade</title>
        <link>https://crashcourse.ca/doku/doku.php?id=panel_upgrade&amp;rev=1767188469&amp;do=diff</link>
        <description>Overview

Not all files are shown in their entirety, only the relevant information. This is information collected from across the 15G tarball; it's obvious that the contents of the tarball reflect stuff that is a few years old and seems to be simply the archive of someone's home directory.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=petalinux_2019.1_install_structure&amp;rev=1571490908&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-19T13:15:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>petalinux_2019.1_install_structure</title>
        <link>https://crashcourse.ca/doku/doku.php?id=petalinux_2019.1_install_structure&amp;rev=1571490908&amp;do=diff</link>
        <description>Overview

Directory structure of (relevant) installed Petalinux 2019.1.

TO DO:

	*  Figure out xsct.

Structure

	*  settings.sh
	*  tools/
		*  common/petalinux/
			*  bin/
				*  petalinux-boot
				*  petalinux-build
				*  petalinux-config
				*</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=petalinux_2019.1&amp;rev=1575630646&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-12-06T11:10:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>petalinux_2019.1</title>
        <link>https://crashcourse.ca/doku/doku.php?id=petalinux_2019.1&amp;rev=1575630646&amp;do=diff</link>
        <description>Check out

Variables:

	*  DL_DIR
	*  SSTATE_MIRRORS_append
	*  PREMIRRORS_prepend

In general:

	*  diff between .hdf, .dsa, .xsa and .bsp files (DSA is super set of HDF holding additional config info that can be changed by XSCT/XSDK).
	*  proper xsct</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=petalinux_2019.2_install_structure&amp;rev=1573125139&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-11-07T11:12:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>petalinux_2019.2_install_structure</title>
        <link>https://crashcourse.ca/doku/doku.php?id=petalinux_2019.2_install_structure&amp;rev=1573125139&amp;do=diff</link>
        <description>Overview

Directory structure of (relevant) installed Petalinux 2019.2 (still based on “thud”).

TO DO:

	*  Figure out xsct.
	*  Installer oddities.
	*  New Vitis-related content.

Structure

	*  settings.sh
	*  tools/
		*  common/petalinux/
			*</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=petalinux_2019.2_issues&amp;rev=1574605356&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-11-24T14:22:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>petalinux_2019.2_issues</title>
        <link>https://crashcourse.ca/doku/doku.php?id=petalinux_2019.2_issues&amp;rev=1574605356&amp;do=diff</link>
        <description>*  what is SDK compared to PetaLinux?
	*  what is in a BSP file?
	*  XSCT?
	*  installer appears to not recognize install directory argument
	*  can't select subset of architectures (why not?)
	*  can't find right TERM type for “petalinux-config -c kernel</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=petalinux_2019.2_zcu102_project_structure&amp;rev=1573129134&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-11-07T12:18:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>petalinux_2019.2_zcu102_project_structure</title>
        <link>https://crashcourse.ca/doku/doku.php?id=petalinux_2019.2_zcu102_project_structure&amp;rev=1573129134&amp;do=diff</link>
        <description>Overview

Directory structure of new (generic) ZCU102 project, project-spec/ directory.

Top-level .gitignore


*/*/config.old
*/*/rootfs_config.old
build/
images/linux/
pre-built/linux/
.petalinux/*
!.petalinux/metadata
*.o
*.jou
*.log
project-spec/meta-plnx-generated/
/components/plnx_workspace</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=phy_link_update&amp;rev=1535457436&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-28T11:57:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>phy_link_update</title>
        <link>https://crashcourse.ca/doku/doku.php?id=phy_link_update&amp;rev=1535457436&amp;do=diff</link>
        <description>Overview

Observations and proper use of the PHY link status handler.

Issues:

	*  Is phy_link_change() relevant? Don't think so.

Explanation

From here:


Connecting to a PHY

 Sometime during startup, the network driver needs to establish a connection
 between the PHY device, and the network device.  At this time, the PHY's bus
 and drivers need to all have been loaded, so it is ready for the connection.
 At this point, there are several ways to connect to the PHY:

 1) The PAL handles every…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=phy_mdio&amp;rev=1532543927&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-07-25T18:38:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>phy_mdio</title>
        <link>https://crashcourse.ca/doku/doku.php?id=phy_mdio&amp;rev=1532543927&amp;do=diff</link>
        <description>Overview

Discussion and code related to generic PHY and MDIO in Linux kernel.

Links

	*  Wikipedia page on MDIO
	*  Total Phase &quot;MDIO Background&quot;
	*  Electronic Design &quot;Use The MDIO Bus To Interrogate Complex Devices&quot;
	*  IEEE &quot;MDIO for IEEE 802.3ah&quot;
	*  IEEE &quot;Management Registers and MIB Objects&quot;
	*  Actel

Acronyms

	*  MDIO: Management Data Input/Output
	*  MMD: MDIO Manageable Devices
	*  MDC: Management Data Clock
	*  PHY: Physical Layer Protocol</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=phy.h&amp;rev=1545922163&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-12-27T14:49:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>phy.h</title>
        <link>https://crashcourse.ca/doku/doku.php?id=phy.h&amp;rev=1545922163&amp;do=diff</link>
        <description>Overview

Discussion of low-level PHY structures and operations, starting at include/linux/phy/phy.h and seeing where it goes from there.

Structures -- struct phy and associated stuff

struct phy


struct phy {
        struct device           dev;
        int                     id;
        const struct phy_ops    *ops;
        struct mutex            mutex;
        int                     init_count;
        int                     power_count;
        struct phy_attrs        attrs;
        st…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=phy&amp;rev=1539003572&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-08T12:59:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>phy</title>
        <link>https://crashcourse.ca/doku/doku.php?id=phy&amp;rev=1539003572&amp;do=diff</link>
        <description>Overview

Overview of MAC/PHY/PCS/PMA/PMD. Hierarchy:

	*  Data link layer
		*  LLC
		*  MAC (FLGA core)

	*  Reconciliation
	*  PHY (FPGA core)
		*  PCS (Physical Coding Sublayer)
		*  PMA (Physical Medium Attachment)
		*  PMD (Physical Medium Dependent)</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=pocketbeagle&amp;rev=1538994807&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-08T10:33:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>pocketbeagle</title>
        <link>https://crashcourse.ca/doku/doku.php?id=pocketbeagle&amp;rev=1538994807&amp;do=diff</link>
        <description>Overview

Notes on the Pocket Beagle.

Links:

	*  &lt;https://beagleboard.org/&gt;
		*  Latest images
		*  Getting started</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=podman&amp;rev=1580161309&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-27T21:41:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>podman</title>
        <link>https://crashcourse.ca/doku/doku.php?id=podman&amp;rev=1580161309&amp;do=diff</link>
        <description>Overview

podman-1.7.0 on Fedora 31.

Informational

version


$ podman version
Version:            1.7.0
RemoteAPI Version:  1
Go Version:         go1.13.5
OS/Arch:            linux/amd64
$



$ podman version --format json
{
    &quot;Client&quot;: {
        &quot;RemoteAPIVersion&quot;: 1,
        &quot;Version&quot;: &quot;1.7.0&quot;,
        &quot;GoVersion&quot;: &quot;go1.13.5&quot;,
        &quot;GitCommit&quot;: &quot;&quot;,
        &quot;Built&quot;: 0,
        &quot;OsArch&quot;: &quot;linux/amd64&quot;
    },
    &quot;Server&quot;: {
        &quot;RemoteAPIVersion&quot;: 1,
        &quot;Version&quot;: &quot;1.7.0&quot;,
      …</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=posix_shell_getpots&amp;rev=1569845778&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-30T12:16:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>posix_shell_getpots</title>
        <link>https://crashcourse.ca/doku/doku.php?id=posix_shell_getpots&amp;rev=1569845778&amp;do=diff</link>
        <description>Overview

An attempt at summarizing the right way to use POSIX-compliant getopts.

A couple links:

	*  https://pubs.opengroup.org/onlinepubs/9699919799/utilities/getopts.html
		*  https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html#tag_12_02

	*  https://sookocheff.com/post/bash/parsing-bash-script-arguments-with-shopts/

Starting points

First, there has been much blood spilled discussing how to support optional arguments using getopts -- the correct solution is to not do …</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=printing_debugging&amp;rev=1537882045&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-25T13:27:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>printing_debugging</title>
        <link>https://crashcourse.ca/doku/doku.php?id=printing_debugging&amp;rev=1537882045&amp;do=diff</link>
        <description>Overview

Structure of kernel printing and debugging, from the ground up.

printk

kern_levels.h

KERN_SOH_ASCII is prepended to string passed to printk().


#define KERN_SOH	&quot;\001&quot;		/* ASCII Start Of Header */
#define KERN_SOH_ASCII	'\001'

#define KERN_EMERG	KERN_SOH &quot;0&quot;	/* system is unusable */
#define KERN_ALERT	KERN_SOH &quot;1&quot;	/* action must be taken immediately */
#define KERN_CRIT	KERN_SOH &quot;2&quot;	/* critical conditions */
#define KERN_ERR	KERN_SOH &quot;3&quot;	/* error conditions */
#define KERN_WARNING…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=proper_device_tree_design&amp;rev=1542538014&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-18T10:46:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>proper_device_tree_design</title>
        <link>https://crashcourse.ca/doku/doku.php?id=proper_device_tree_design&amp;rev=1542538014&amp;do=diff</link>
        <description>Overview

Proper .dts file design.

One board, one .dts file

Every distinct board merits its own .dts file, as in:

	*  am335x-boneblack.dts
	*  am335x-boneblack-wireless.dts
	*  am335x-boneblue.dts
	*  am335x-bone.dts
	*  am335x-bonegreen.dts
	*  am335x-bonegreen-wireless.dts</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=pulsar_linux&amp;rev=1529866377&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-06-24T18:52:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>pulsar_linux</title>
        <link>https://crashcourse.ca/doku/doku.php?id=pulsar_linux&amp;rev=1529866377&amp;do=diff</link>
        <description>Overview

Some puttering around notes on Pulsar Linux.

Two things:

	*  the active development branch for Pulsar Linux is pulsar-x
	*  current development emphasizes the container-related images (cube-dom0, cube-essential, etc), not so much standard images like</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=python_file_hierarchy&amp;rev=1592411796&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-17T16:36:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>python_file_hierarchy</title>
        <link>https://crashcourse.ca/doku/doku.php?id=python_file_hierarchy&amp;rev=1592411796&amp;do=diff</link>
        <description>Overview

Recommended package hierarchy.

Hierarchy

	*  fubar/
		*  fubar/
			*  __init__.py
			*  cli.py
			*  storage.py
			*  tests/
				*  __init__.py
				*  test_storage.py
				*  test_cli.py

			*  data/
				*  image.png


		*  setup.py
		*  setup.cfg</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=python&amp;rev=1592404817&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-17T14:40:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>python</title>
        <link>https://crashcourse.ca/doku/doku.php?id=python&amp;rev=1592404817&amp;do=diff</link>
        <description>Overview

First pass at Python course topics.

Links:

... coming ...

Internal links

	*  Python_file_hierarchy

Packages

	*  python3 (Python 3.7)


$ python3 -V
Python 3.7.4
$


Online tutorial

3

	*  string operations
	*  string slices

4

	*  “else” clause on loop constructs</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=readme&amp;rev=1492255685&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-04-15T11:28:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>readme</title>
        <link>https://crashcourse.ca/doku/doku.php?id=readme&amp;rev=1492255685&amp;do=diff</link>
        <description>test page readme</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=rh124_virtualization&amp;rev=1541720137&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-08T23:35:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rh124_virtualization</title>
        <link>https://crashcourse.ca/doku/doku.php?id=rh124_virtualization&amp;rev=1541720137&amp;do=diff</link>
        <description>Overview

Virtualization lab for GL124.

Packages

virt-manager

virt-viewer

libvirt

No actual files:


$ rpm -qR libvirt
/bin/sh
libvirt-client = 4.7.0-1.fc29
libvirt-daemon = 4.7.0-1.fc29
libvirt-daemon-config-network = 4.7.0-1.fc29
libvirt-daemon-config-nwfilter = 4.7.0-1.fc29
libvirt-daemon-driver-interface = 4.7.0-1.fc29
libvirt-daemon-driver-libxl = 4.7.0-1.fc29
libvirt-daemon-driver-lxc = 4.7.0-1.fc29
libvirt-daemon-driver-network = 4.7.0-1.fc29
libvirt-daemon-driver-nodedev = 4.7.0-1.f…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=risc-v&amp;rev=1646143791&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-01T14:09:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>risc-v</title>
        <link>https://crashcourse.ca/doku/doku.php?id=risc-v&amp;rev=1646143791&amp;do=diff</link>
        <description>= STUFF

	*  Peruse runqemu, clarify how it creates command for qemuriscv64.

= Links

== OE-Core layer

 * OE-Core

	*  scripts/
		*  runqemu

	*  meta/
		*  classes/
			*  qemu.bbclass
			*  qemuboot.bbclass

		*  conf/
			*  machine/
				*  qemuriscv64.conf
				*  include/
					*  qemu.inc
					*  riscv/
						*  qemuriscv64.inc
						*  tune-riscv.inc
						*  arch-riscv.inc




		*  recipes-bsp/
			*  opensbi/
				*  opensbi_1.0.bb</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=sata_port_multipliers&amp;rev=1556109056&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-24T12:30:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sata_port_multipliers</title>
        <link>https://crashcourse.ca/doku/doku.php?id=sata_port_multipliers&amp;rev=1556109056&amp;do=diff</link>
        <description>Overview

Discussion of kernel support for SATA port multipliers.

Kernel content

	*  include/
		*  linux/
			*  ata.h
			*  libata.h


	*  drivers/
		*  ata/
			*  Kconfig
			*  Makefile
			*  libata-pmp.c
			*  libata-eh.c



Build files [drivers/ata]</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=sei_cert_c_coding_standard&amp;rev=1565126261&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-06T21:17:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sei_cert_c_coding_standard</title>
        <link>https://crashcourse.ca/doku/doku.php?id=sei_cert_c_coding_standard&amp;rev=1565126261&amp;do=diff</link>
        <description>Links

	*  &lt;https://wiki.sei.cmu.edu/confluence/display/c&gt;

Preprocessor (PRE)

2.1 PRE30-C. Do not create a universal character name through concatenation

2.2 PRE31-C. Avoid side effects in arguments to unsafe macros

An unsafe function-like macro is one whose expansion results in evaluating one of its parameters more than once or not at all.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=shell_dump_function&amp;rev=1571960678&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-24T23:44:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>shell_dump_function</title>
        <link>https://crashcourse.ca/doku/doku.php?id=shell_dump_function&amp;rev=1571960678&amp;do=diff</link>
        <description>To save piles of typing when debugging bash scripts, a dump() function that understands both regular and associative arrays:


is_array() {
    if [ -n &quot;$BASH&quot; ]; then
        declare -p ${1} 2&gt; /dev/null | grep 'declare \-a' &gt;/dev/null &amp;&amp; return 0
    fi
    return 1
}

is_hash() {
    if [ -n &quot;$BASH&quot; ]; then
        declare -p ${1} 2&gt; /dev/null | grep 'declare \-A' &gt;/dev/null &amp;&amp; return 0
    fi
    return 1
}

dump() {
    for var; do
        if is_array ${var} ; then
            echo ${var} =…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=sidebar&amp;rev=1747471121&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-17T08:38:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sidebar</title>
        <link>https://crashcourse.ca/doku/doku.php?id=sidebar&amp;rev=1747471121&amp;do=diff</link>
        <description>*  Home
	*  All things Xilinx</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=software_testing&amp;rev=1564910300&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-04T09:18:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>software_testing</title>
        <link>https://crashcourse.ca/doku/doku.php?id=software_testing&amp;rev=1564910300&amp;do=diff</link>
        <description>Overview

Condensation of software testing tutorial here.

STUFF

General points

	*  Use library routines as much as possible.
		*  Develop wrappers that incorporate your features.

	*  Use REGEX parsers to validate input, this forces you to clarify valid input.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=sphinx_on_fedora&amp;rev=1580329427&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-29T20:23:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sphinx_on_fedora</title>
        <link>https://crashcourse.ca/doku/doku.php?id=sphinx_on_fedora&amp;rev=1580329427&amp;do=diff</link>
        <description>Overview

Quick tutorial on setting up Sphinx for ReST processing on Fedora, mostly to work on libpod documentation.

Packages


$ sudo dnf install python3-sphinx


Creating a new project


$ sphinx-quickstart


	*  separate source and build directories</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=start&amp;rev=1773861422&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-18T19:17:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>start</title>
        <link>https://crashcourse.ca/doku/doku.php?id=start&amp;rev=1773861422&amp;do=diff</link>
        <description>NOTE: A great deal of this is quite old as I did not update a lot of it while I had full-time employment, but I'm going to clean it up as I think it still has value to people interested in some of these technologies.

THINKING ABOUT:

	*  cgroups and namespaces</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=systemd-coredump&amp;rev=1542369020&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-16T11:50:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>systemd-coredump</title>
        <link>https://crashcourse.ca/doku/doku.php?id=systemd-coredump&amp;rev=1542369020&amp;do=diff</link>
        <description>Overview

Details of core files related to systemd-coredump.

External pages:

	*  man page
	*  FreeDesktop page

File list

	*  /usr/lib/
		*  sysctl.d/
			*  50-coredump.conf

		*  systemd/
			*  systemd-coredump
			*  system/
				*  systemd-coredump@.service
				*  systemd-coredump.socket</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=systemd-sysctl&amp;rev=1542366267&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-16T11:04:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>systemd-sysctl</title>
        <link>https://crashcourse.ca/doku/doku.php?id=systemd-sysctl&amp;rev=1542366267&amp;do=diff</link>
        <description>Overview

Breakdown of systemd-sysctl.

External links:

	*  man page
	*  FreeDesktop page

File list

	*  /etc/
		*  sysctl.conf [empty]
		*  sysctl.d/
			*  99-sysctl.conf [link to above so empty]


	*  /usr/lib/
		*  systemd/
			*  systemd-sysctl
			*  system/
				*  systemd-sysctl.service</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=systemd&amp;rev=1542366320&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-16T11:05:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>systemd</title>
        <link>https://crashcourse.ca/doku/doku.php?id=systemd&amp;rev=1542366320&amp;do=diff</link>
        <description>Overview

Various tutorials/summaries/references for aspects of the Red Weed that is systemd.

Internal links

	*  systemd-sysctl
	*  systemd-coredump</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=u-boot_am335x_evm&amp;rev=1554817076&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-09T13:37:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>u-boot_am335x_evm</title>
        <link>https://crashcourse.ca/doku/doku.php?id=u-boot_am335x_evm&amp;rev=1554817076&amp;do=diff</link>
        <description>Overview

Discussion of the supporting files and directories to support the TI AM335X EVM, as an example of porting a specific board, based on the following defining values.

First, from configs/am335x_evm_defconfig:


CONFIG_ARM=y
CONFIG_ARCH_OMAP2PLUS=y
CONFIG_TI_COMMON_CMD_OPTIONS=y
CONFIG_AM33XX=y
CONFIG_SPL=y</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=u-boot_badref&amp;rev=1544556649&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-12-11T19:30:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>u-boot_badref</title>
        <link>https://crashcourse.ca/doku/doku.php?id=u-boot_badref&amp;rev=1544556649&amp;do=diff</link>
        <description>Overview

The result of running my find_badref_configs.sh script on the U-Boot source tree, which looks for CONFIG_* variables being tested, but apparently not defined in any Kconfig* file.

find_badref_configs.sh


#!/bin/sh

SCAN_DIR=${1-*}

CVARS=$(find ${SCAN_DIR} -name &quot;*.[ch]&quot; |    \
        grep -v &quot;mach-types.h&quot; |        \
        xargs ifnames |                 \
        grep &quot;^CONFIG_&quot; |               \
        cut -d' ' -f1 |                 \
        sed &quot;s/^CONFIG_//&quot; |            \…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=u-boot_board_info&amp;rev=1555253354&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-14T14:49:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>u-boot_board_info</title>
        <link>https://crashcourse.ca/doku/doku.php?id=u-boot_board_info&amp;rev=1555253354&amp;do=diff</link>
        <description>Overview

Explanation of initialization of struct bd_info, in the context of Zedboard.

include/asm-generic/u-boot.h

Non-Zedboard content removed for brevity.


typedef struct bd_info {
        unsigned long   bi_memstart;    /* start of DRAM memory */
        phys_size_t     bi_memsize;     /* size  of DRAM memory in bytes */
        unsigned long   bi_flashstart;  /* start of FLASH memory */
        unsigned long   bi_flashsize;   /* size  of FLASH memory */
        unsigned long   bi_flashof…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=u-boot_board.c_routines&amp;rev=1577525022&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-12-28T09:23:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>u-boot_board.c_routines</title>
        <link>https://crashcourse.ca/doku/doku.php?id=u-boot_board.c_routines&amp;rev=1577525022&amp;do=diff</link>
        <description>Overview

This page provides examples of the sorts of routines that are frequently defined in a board's board.c file. We can break those routines up into routines invoked from:

	*  common/board_f.c
	*  common/board_r.c

board_f.c

Weak functions

	*</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=u-boot_boot_sequence&amp;rev=1577521999&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-12-28T08:33:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>u-boot_boot_sequence</title>
        <link>https://crashcourse.ca/doku/doku.php?id=u-boot_boot_sequence&amp;rev=1577521999&amp;do=diff</link>
        <description>Overview

The U-boot boot process, using Xilinx ZCU102 (Rev 1.0) as an example.

arch/arm/cpu/armv8/start.S


/*************************************************************************
 *
 * Startup Code (reset vector)
 *
 *************************************************************************/
...
master_cpu:
        bl    _main</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=u-boot_configuration&amp;rev=1577430160&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-12-27T07:02:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>u-boot_configuration</title>
        <link>https://crashcourse.ca/doku/doku.php?id=u-boot_configuration&amp;rev=1577430160&amp;do=diff</link>
        <description>Overview

Show the result of doing a configuration, using Xilinx ZCU102 Rev 1.0 as an example.

make xilinx_zynqmp_zcu102_rev1_0_defconfig

Preliminary:


CONFIG_ARM=y
...
CONFIG_SYS_ARCH=&quot;arm&quot;
CONFIG_SYS_CPU=&quot;armv8&quot;
CONFIG_SYS_SOC=&quot;zynqmp&quot;
CONFIG_SYS_VENDOR=&quot;xilinx&quot;
CONFIG_SYS_BOARD=&quot;zynqmp&quot;
CONFIG_SYS_CONFIG_NAME=&quot;xilinx_zynqmp&quot;
...
CONFIG_ARM64=y
CONFIG_SYS_ARM_ARCH=8
...
# CONFIG_ARCH_ZYNQ is not set
# CONFIG_ARCH_ZYNQMP_R5 is not set
CONFIG_ARCH_ZYNQMP=y</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=u-boot_for_arm&amp;rev=1554636005&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-07T11:20:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>u-boot_for_arm</title>
        <link>https://crashcourse.ca/doku/doku.php?id=u-boot_for_arm&amp;rev=1554636005&amp;do=diff</link>
        <description>Overview

Setting up ARM toolchain for U-Boot -- for validation, see if it compiles Zedboard:


$ make zynq_zed_defconfig


The possibilities

Fedora 30 package gcc-arm-linux-gnu

The package:


$ rpm -qi gcc-arm-linux-gnu
Name        : gcc-arm-linux-gnu
Version     : 8.2.1
Release     : 1.fc30.2
Architecture: x86_64
Install Date: Thu 21 Mar 2019 09:29:31 AM EDT
Group       : Unspecified
Size        : 81242502
License     : GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=u-boot_make_badref&amp;rev=1555152076&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-13T10:41:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>u-boot_make_badref</title>
        <link>https://crashcourse.ca/doku/doku.php?id=u-boot_make_badref&amp;rev=1555152076&amp;do=diff</link>
        <description>Overview

This page lists everywhere in the U-Boot source code that Makefiles are testing “CONFIG_” Kbuild options that do not appear to be defined in any Kconfig file.

The output for the entire code base


&gt;&gt;&gt;&gt;&gt; ADI_GPIO2
./drivers/gpio/Makefile:obj-$(CONFIG_ADI_GPIO2)	+= adi_gpio2.o
&gt;&gt;&gt;&gt;&gt; ALI152X
./drivers/misc/Makefile:obj-$(CONFIG_ALI152X) += ali512x.o
&gt;&gt;&gt;&gt;&gt; CMD_INI
./cmd/Makefile:obj-$(CONFIG_CMD_INI) += ini.o
&gt;&gt;&gt;&gt;&gt; CMD_MFSL
./cmd/Makefile:obj-$(CONFIG_CMD_MFSL) += mfsl.o
&gt;&gt;&gt;&gt;&gt; DATAFLASH_M…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=u-boot_porting_board&amp;rev=1577436956&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-12-27T08:55:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>u-boot_porting_board</title>
        <link>https://crashcourse.ca/doku/doku.php?id=u-boot_porting_board&amp;rev=1577436956&amp;do=diff</link>
        <description>Overview

Quick run-through of the supporting content and files for a specific board; in this case, the hypothetical ZynqMP-based “Coyote” board from Acme Corp, with emphasis on Kbuild structure and not header files wherever possible.

Based on:</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=u-boot_tools&amp;rev=1554719054&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-08T10:24:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>u-boot_tools</title>
        <link>https://crashcourse.ca/doku/doku.php?id=u-boot_tools&amp;rev=1554719054&amp;do=diff</link>
        <description>Overview

Fedora 30 uboot-tools package.

Info


$ rpm -qi uboot-tools
Name        : uboot-tools
Version     : 2019.04
Release     : 0.8.rc4.fc30
Architecture: x86_64
Install Date: Tue 02 Apr 2019 05:28:07 AM EDT
Group       : Unspecified
Size        : 2380032
License     : GPLv2+ BSD LGPL-2.1+ LGPL-2.0+
Signature   : RSA/SHA256, Sun 31 Mar 2019 08:15:53 PM EDT, Key ID ef3c111fcfc659b9
Source RPM  : uboot-tools-2019.04-0.8.rc4.fc30.src.rpm
Build Date  : Sun 31 Mar 2019 08:10:47 AM EDT
Build Host…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=u-boot_unused_configs&amp;rev=1555154949&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-13T11:29:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>u-boot_unused_configs</title>
        <link>https://crashcourse.ca/doku/doku.php?id=u-boot_unused_configs&amp;rev=1555154949&amp;do=diff</link>
        <description>Overview

Script that scans a Kbuild-based code base to identify CONFIG_ options that are defined in Kconfig files but that appear to be unused/untested in the code base.

Please do not make fun of the coding style of the script; I wrote it many, many years ago, and it would probably be far better written in Python.</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=u-boot&amp;rev=1577521566&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-12-28T08:26:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>u-boot</title>
        <link>https://crashcourse.ca/doku/doku.php?id=u-boot&amp;rev=1577521566&amp;do=diff</link>
        <description>Overview

Various U-Boot thingies, currently in very early stages. Much more to come.

Cool links

	*  Embedded Linux Conference Europe 2017 Porting U-Boot and Linux on new ARM boards:a step-by-step guide
	*  Xilinx wiki &quot;Build U-Boot&quot;

Test scripts

	*  U-Boot unused configs
	*  U-Boot badref
	*  U-Boot make badref

Updated internal links

	*  U-Boot configuration
	*  U-Boot porting board
	*  U-Boot boot sequence

Older internal links

All of the below is in a state of churn as I try to figure …</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=unix_shell_programming_pt2092&amp;rev=1559489465&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-06-02T15:31:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>unix_shell_programming_pt2092</title>
        <link>https://crashcourse.ca/doku/doku.php?id=unix_shell_programming_pt2092&amp;rev=1559489465&amp;do=diff</link>
        <description>Links

General:

	*  Open Group Shell Command Language
	*  How can I test for POSIX compliance of shell scripts?
	*  DashAsBinSh
	*  Bash POSIX Mode
	*  ProTech H4322S POSIX Shell programming

Bashisms and syntactic analysis:

	*  How to make bash scripts work in dash
	*  Fedora “devscripts-checkbashisms” package.
	*  Fedora “ShellCheck” package
	*  vim syntax highlighting

Examine/cover

	*  print/printf
	*  restricted shell (bash -r)
	*  ORA shell book</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=user_group_management&amp;rev=1541680030&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-08T12:27:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>user_group_management</title>
        <link>https://crashcourse.ca/doku/doku.php?id=user_group_management&amp;rev=1541680030&amp;do=diff</link>
        <description>Overview

Commands and files related to uwers and groups.

Files


$ cat /etc/passwd
$ cat /etc/group
$ cat /etc/default/useradd
$ cat /etc/login.defs
$ ls -a /etc/skel
$ less /etc/profile


Commands

	*  useradd, usermod, userdel
	*  groupadd, groupmod</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=virtualbox_6.0&amp;rev=1547742885&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-01-17T16:34:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>virtualbox_6.0</title>
        <link>https://crashcourse.ca/doku/doku.php?id=virtualbox_6.0&amp;rev=1547742885&amp;do=diff</link>
        <description>Overview

Installing/using VB 6.0 on Fedora 29.

Q

	*  Will Guest Additions be added automatically? (silverblue) How can you tell if they're installed?
	*  image formats (OVF versus OVA)
	*  “front end” vs “frontend” vs “front-end”?
	*  groups of groups of VMs?</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=virtualbox_on_fedora&amp;rev=1523014909&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-04-06T11:41:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>virtualbox_on_fedora</title>
        <link>https://crashcourse.ca/doku/doku.php?id=virtualbox_on_fedora&amp;rev=1523014909&amp;do=diff</link>
        <description>Installation

First:


$ cd yum.repos.d
$ sudo wget http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo


Contents:


[virtualbox]
name=Fedora $releasever - $basearch - VirtualBox
baseurl=http://download.virtualbox.org/virtualbox/rpm/fedora/$releasever/$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.virtualbox.org/download/oracle_vbox.asc</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=virtualization_on_fedora_pages&amp;rev=1541718862&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-08T23:14:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>virtualization_on_fedora_pages</title>
        <link>https://crashcourse.ca/doku/doku.php?id=virtualization_on_fedora_pages&amp;rev=1541718862&amp;do=diff</link>
        <description>External links

	*  A Practical Introduction to Container Terminology

Internal links

	*  Getting started with virtualization on Fedora
	*  VirtualBox on Fedora
	*  CDK on Fedora
	*  Docker on Fedora
	*  Kubernetes on Fedora
	*  RH124 virtualization</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=virtualization_on_fedora&amp;rev=1562752734&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-07-10T09:58:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>virtualization_on_fedora</title>
        <link>https://crashcourse.ca/doku/doku.php?id=virtualization_on_fedora&amp;rev=1562752734&amp;do=diff</link>
        <description>Overview

Virtualization on Fedora [30], including:

	*  KVM
	*  QEMU
	*  libvirt

Links

External links:

	*  Fedora Project -- https://docs.fedoraproject.org/en-US/quick-docs/getting-started-with-virtualization/
	*  How to install KVM on Fedora 30/29/28
	*  Server World Fedora 30 KVM

Check for virtualization support

These extensions are called Intel VT or AMD-V.


$ egrep '^flags.*(vmx|svm)' /proc/cpuinfo</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=vivado_2018.3_zedboard&amp;rev=1558353941&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-05-20T12:05:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vivado_2018.3_zedboard</title>
        <link>https://crashcourse.ca/doku/doku.php?id=vivado_2018.3_zedboard&amp;rev=1558353941&amp;do=diff</link>
        <description>Overview

Steps in building/exporting the output for Zynq Zedboard from Vivado 2018.3.

Directory setup


$ mkdir ~/xilinx/projects/vpjs/[zed_top/zedboard/]


Vivado steps

Create new project

	*  Select Zedboard (create subdirectory)
	*  RTL project</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=vmware_player_on_fedora&amp;rev=1565946022&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-16T09:00:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vmware_player_on_fedora</title>
        <link>https://crashcourse.ca/doku/doku.php?id=vmware_player_on_fedora&amp;rev=1565946022&amp;do=diff</link>
        <description>Overview

Installing, configuring and running VMware Player on fully-updated Fedora 30.

Links:

	*  &lt;https://askbot.fedoraproject.org/en/question/131006/how-install-vmware-workstation-player-1502-on-fedora-29-host/&gt;</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=walnascar_yocto_project_build_on_adlink_i.mx6_som&amp;rev=1766513283&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-23T18:08:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>walnascar_yocto_project_build_on_adlink_i.mx6_som</title>
        <link>https://crashcourse.ca/doku/doku.php?id=walnascar_yocto_project_build_on_adlink_i.mx6_som&amp;rev=1766513283&amp;do=diff</link>
        <description>Dec 23 update

Add trailing section on “ionstall_cylon.sh” installation script.

Overview (page last reviewed and updated Dec 20, 2025)

This page documents the current status of trying to get a modern (“walnascar”) Yocto Project (YP) build on a legacy carrier board built around an</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=wind_river_lts19&amp;rev=1590318100&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-24T11:01:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wind_river_lts19</title>
        <link>https://crashcourse.ca/doku/doku.php?id=wind_river_lts19&amp;rev=1590318100&amp;do=diff</link>
        <description>Overview

Working with Wind River LTS19.

Links:

	*  &lt;https://github.com/WindRiver-Labs/wrlinux-x&gt;
	*  &lt;https://docs.windriver.com/category/os_linux_cd&gt;
	*  &lt;https://docs.windriver.com/category/os_linux_lts_19&gt;

STUFF

	*  WR-specific extensions (templates/features/tools), should these be used to be incompatible with pure YP?
	*  how to update wrlinux-x to UPDATE7?
	*  New support to deploy a platform project image based on the intel-x86-64 BSP with the runqemu command. You no longer require a …</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=xilinx_running_petalinux&amp;rev=1571572880&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-20T12:01:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>xilinx_running_petalinux</title>
        <link>https://crashcourse.ca/doku/doku.php?id=xilinx_running_petalinux&amp;rev=1571572880&amp;do=diff</link>
        <description>Overview

This page steps through building for a ZCU102 using an .hdf file downloaded from GitHub, and PetaLinux 2019.1.

Format of the ZCU102 HDF file


-rw-r--r--. 1 rpjday rpjday    46772 May  5 15:09 design_1_bd.tcl
-rw-r--r--. 1 rpjday rpjday   124564 May  5 15:09 design_1.hwh
-rw-r--r--. 1 rpjday rpjday 26510901 May  5 15:09 design_1_wrapper.bit
-rw-r--r--. 1 rpjday rpjday   922239 May  5 15:09 psu_init.c
-rw-r--r--. 1 rpjday rpjday   921403 May  5 15:09 psu_init_gpl.c
-rw-r--r--. 1 rpjday…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=xilinx&amp;rev=1747471682&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-17T08:48:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>xilinx</title>
        <link>https://crashcourse.ca/doku/doku.php?id=xilinx&amp;rev=1747471682&amp;do=diff</link>
        <description>Overview

All things Xilinx from a Yocto Project perspective.

Links

Official Xilinx wiki

GitHub

	*  Xilinx
		*  linux-xlnx
		*  u-boot-xlnx
		*  meta-xilinx
		*  meta-xilinx-tools
		*  meta-petalinux
		*  hdf-examples
		*  XRT


Xilinx embedded software tools:

	*  Xilinx SDK
	*  Petalinux tools

Internal links (NEW)

	*  PetaLinux 2019.1
	*  PetaLinux 2019.2 issues
	*  PetaLinux 2019.2 install structure
	*  PetaLinux 2019.2 ZCU102 project structure
	*  meta-xilinx and zcu102-zynqmp
	*  ZCU1…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=yocto_project&amp;rev=1637661352&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-23T09:55:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>yocto_project</title>
        <link>https://crashcourse.ca/doku/doku.php?id=yocto_project&amp;rev=1637661352&amp;do=diff</link>
        <description>Overview

All sorts of pages related to OE/YP.

OUTLINE (pages to come)

Tools

toaster

wic

bmaptool

Testing/analysis/utility routines

ptest

	*  “inherit ptest”
	*  DISTRO_FEATURES += “ptest”
	*  /usr/lib/&lt;pkg&gt;/ptest
	*  ptest-runner

Profiling</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=zcu102_u-boot_structure&amp;rev=1576242842&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-12-13T13:14:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>zcu102_u-boot_structure</title>
        <link>https://crashcourse.ca/doku/doku.php?id=zcu102_u-boot_structure&amp;rev=1576242842&amp;do=diff</link>
        <description>Overview

All of the U-boot (u-boot-xlnx 2019.1) files and content that go into defining a generic Xilinx ZCU102 board (xilinx_zynqmp_zcu102_rev1_0_defconfig).

This is based on GitHub repo https://github.com/Xilinx/u-boot-xlnx/tree/xilinx-v2019.1.

Files

Top level:

	*  Kconfig
	*  config.mk

configs:

	*</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=zed_machine_conf&amp;rev=1557072377&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-05-05T16:06:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>zed_machine_conf</title>
        <link>https://crashcourse.ca/doku/doku.php?id=zed_machine_conf&amp;rev=1557072377&amp;do=diff</link>
        <description>Overview

Machine definition files for Zedboard.

zedboard-zynq7.conf


#@TYPE: Machine
#@NAME: zedboard-zynq7
#@DESCRIPTION: Machine support for ZedBoard. (http://www.zedboard.org/)
#
# For details on the Evaluation board:
#     http://www.zedboard.org/content/overview
# For design files (including 'zynq_fsbl_0.elf') for the ZedBoard:
#     http://www.zedboard.org/reference-designs-categories/zynq-concepts-tools-and-techniques-zedboard
#

SOC_VARIANT ?= &quot;7z&quot;

require conf/machine/include/tune-z…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=zed_sd_card&amp;rev=1558195556&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-05-18T16:05:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>zed_sd_card</title>
        <link>https://crashcourse.ca/doku/doku.php?id=zed_sd_card&amp;rev=1558195556&amp;do=diff</link>
        <description>Overview

Bootable SD card for Zedboard.

FAT partition

	*  BOOT.BIN
	*  u-boot.img
	*  uEnv.txt
	*  uImage
	*  zynq-zed.dtb

uEnv.txt


machine_name=zedboard-zynq7
kernel_image=uImage
kernel_load_address=0x2080000
devicetree_image=zynq-zed.dtb
devicetree_load_address=0x2000000
bootargs=earlyprintk console=ttyPS0,115200 root=/dev/mmcblk0p2 rw rootwait
loadkernel=fatload mmc 0 ${kernel_load_address} ${kernel_image}
loaddtb=fatload mmc 0 ${devicetree_load_address} ${devicetree_image}
bootkernel=r…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=zed_yocto_u-boot_commands&amp;rev=1558357523&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-05-20T13:05:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>zed_yocto_u-boot_commands</title>
        <link>https://crashcourse.ca/doku/doku.php?id=zed_yocto_u-boot_commands&amp;rev=1558357523&amp;do=diff</link>
        <description>Overview

U-Boot commands supported by the standard Yocto/meta-xilinx-bsp build.

Informational commands

version


U-Boot 2018.01 (May 18 2019 - 17:11:06 +0000)

arm-poky-linux-gnueabi-gcc (GCC) 8.2.0
GNU ld (GNU Binutils) 2.31.1.20181224


bdinfo


arch_number = 0x00000000
boot_params = 0x00000000
DRAM bank   = 0x00000000
-&gt; start    = 0x00000000
-&gt; size     = 0x20000000
baudrate    = 115200 bps
TLB addr    = 0x1FFF0000
relocaddr   = 0x1FF3B000
reloc off   = 0x1BF3B000
irq_sp      = 0x1EB1AEE0…</description>
    </item>
    <item rdf:about="https://crashcourse.ca/doku/doku.php?id=zedboard&amp;rev=1558294116&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-05-19T19:28:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>zedboard</title>
        <link>https://crashcourse.ca/doku/doku.php?id=zedboard&amp;rev=1558294116&amp;do=diff</link>
        <description>Overview

Various and sundry info for Digilent/Avnet Zynq-7000-based Zedboard, based on unsupported Fedora 30.

Links

	*  Digilent store page
	*  http://zedboard.org/

Yocto Project build

Setup

Stick with (for now) thud checkout for poky and meta-xilinx-bsp.


SCONF_VERSION = &quot;1&quot;
SOURCE_MIRROR_URL ?= &quot;file:///home/rpjday/oe/dist/tarballs/&quot;
INHERIT += &quot;own-mirrors&quot;
BB_GENERATE_MIRROR_TARBALLS = &quot;1&quot;
# BB_NO_NETWORK = &quot;1&quot;</description>
    </item>
</rdf:RDF>
