{"id":84,"date":"2012-03-18T12:32:00","date_gmt":"2012-03-18T12:32:00","guid":{"rendered":"http:\/\/rglinuxtech.com\/?p=84"},"modified":"2012-03-18T12:32:00","modified_gmt":"2012-03-18T12:32:00","slug":"pi-in-the-boot","status":"publish","type":"post","link":"https:\/\/rglinuxtech.com\/?p=84","title":{"rendered":"Pi in the Boot.."},"content":{"rendered":"<p>The Raspberry Pi boot sequence is somewhat unique, due &#8211; amongst other things &#8211; to the binary code blobs necessary to drive the Broadcom CPU\/GPU at boot time.<\/p>\n<p>The FAT32 boot partition looks like this:<\/p>\n<div id=\"attachment_85\" style=\"width: 610px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/d1507750.u268.pipeten.co.uk\/wp_rglinuxtech\/wp-content\/uploads\/2012\/03\/rasbberry_pi_fat32_boot_partition.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-85\" class=\"size-full wp-image-85\" title=\"rasbberry_pi_fat32_boot_partition\" src=\"http:\/\/d1507750.u268.pipeten.co.uk\/wp_rglinuxtech\/wp-content\/uploads\/2012\/03\/rasbberry_pi_fat32_boot_partition.jpg\" alt=\"\" width=\"600\" height=\"364\" srcset=\"https:\/\/rglinuxtech.com\/wp_rglinuxtech\/wp-content\/uploads\/2012\/03\/rasbberry_pi_fat32_boot_partition.jpg 832w, https:\/\/rglinuxtech.com\/wp_rglinuxtech\/wp-content\/uploads\/2012\/03\/rasbberry_pi_fat32_boot_partition-300x182.jpg 300w, https:\/\/rglinuxtech.com\/wp_rglinuxtech\/wp-content\/uploads\/2012\/03\/rasbberry_pi_fat32_boot_partition-624x378.jpg 624w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><p id=\"caption-attachment-85\" class=\"wp-caption-text\">Pi Boot Partition Contents..<\/p><\/div>\n<p>The three binary files <strong>arm&lt;nnn&gt;_start.elf<\/strong> provide varying allocations of the processor for CPU (compute) versus GPU (video) work.\u00a0\u00a0\u00a0\u00a0 This effectively means that for more video-intensive uses, there will be less CPU capability, and this (it appears..) has to be decided at boot time..\u00a0\u00a0\u00a0\u00a0\u00a0 The three options are selected by copying the appropriate file to &#8216;start.elf&#8217;.<\/p>\n<p>The <strong>cmdline(xxx).txt<\/strong> files provide more boot-time parameters, such as console port and speed, root filesystem location and type, and boot delay..\u00a0\u00a0\u00a0\u00a0 Some of these are similar to the parameters held in the bios on systems such as the Marvell-chipset based Dreamplug..<\/p>\n<p>The actual Linux kernel is contained in the\u00a0<strong>kernel.img<\/strong> file, and this is created (after kernel compilation) using a Python tool &#8211; <em>&#8216;imagetool-uncompressed.py<\/em>&#8216; which can be obtained from the Pi kernel GitHub site, at <a title=\"https:\/\/github.com\/raspberrypi\/tools\" href=\"https:\/\/github.com\/raspberrypi\/tools\"><strong>https:\/\/github.com\/raspberrypi\/tools<\/strong><\/a>.<\/p>\n<p>More details can be found on the excellent Wiki, at <strong><a title=\"http:\/\/elinux.org\/R-Pi_Hub\" href=\"http:\/\/elinux.org\/R-Pi_Hub\">http:\/\/elinux.org\/R-Pi_Hub<\/a><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Raspberry Pi boot sequence is somewhat unique, due &#8211; amongst other things &#8211; to the binary code blobs necessary to drive the Broadcom CPU\/GPU at boot time. The FAT32 boot partition looks like this: The three binary files arm&lt;nnn&gt;_start.elf provide varying allocations of the processor for CPU (compute) versus GPU (video) work.\u00a0\u00a0\u00a0\u00a0 This effectively means that <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/rglinuxtech.com\/?p=84\"><span class=\"more-msg\">Continue reading &rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[5,14,16,21],"tags":[103,104,130,151,197,237,313],"class_list":["post-84","post","type-post","status-publish","format-standard","hentry","category-compilation","category-kernel","category-linux-arm","category-raspberry-pi","tag-boot-partition","tag-boot-partition-contents","tag-cpugpu","tag-fat32","tag-imagetool","tag-kernel-img","tag-raspberry-pi-2"],"_links":{"self":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/84","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=84"}],"version-history":[{"count":0,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/84\/revisions"}],"wp:attachment":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=84"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=84"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=84"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}