{"id":986,"date":"2014-01-05T22:41:08","date_gmt":"2014-01-05T22:41:08","guid":{"rendered":"http:\/\/rglinuxtech.com\/?p=986"},"modified":"2014-01-05T22:41:08","modified_gmt":"2014-01-05T22:41:08","slug":"arm-fun-with-device-trees","status":"publish","type":"post","link":"https:\/\/rglinuxtech.com\/?p=986","title":{"rendered":"ARM:  Fun with Device Trees&#8230;"},"content":{"rendered":"<p>ARM devices on Linux are rapidly moving to use the &#8216;<strong>device tree<\/strong>&#8216; format to specify the CPU \/ SoC characteristics at kernel compile time, for producing the boot image&#8230; \u00a0 For systems such as the DreamPlug, this means that the old <em><strong># make uImage<\/strong><\/em> is no longer applicable..<\/p>\n<p>For the DreamPlug, this is an example of the way I now produce the bootable image, and as in so many cases, this is <span style=\"text-decoration: underline;\">one<\/span> way of doing it, and it works, for me..<\/p>\n<pre><strong># make -j4<\/strong>\r\n<strong># make modules_install<\/strong>\r\n<strong># make firmware_install<\/strong>\r\n<strong># make dtbs<\/strong>\r\n<strong># rm -f arch\/arm\/boot\/zImage_w_dtb\u00a0\u00a0\u00a0\u00a0 <\/strong>\r\n<strong># cat arch\/arm\/boot\/zImage arch\/arm\/boot\/dts\/kirkwood-dreamplug.dtb &gt; arch\/arm\/boot\/zImage_w_dtb<\/strong>\r\n<strong># mkimage -A arm -O linux -T kernel -C none -a 0x8000 -e 0x8000 -n \"linux-dreamplug\" -d arch\/arm\/boot\/zImage_w_dtb ..\/uImage313rc7<\/strong><\/pre>\n<p>Then copy the uImage&#8230;. file to the SDCard <strong><em>boot<\/em><\/strong> partition (and ~\/lib\/modules and ~\/lib\/firmware from the compiled kernel tree to the root partition, as appropriate..)<\/p>\n<p>The uImage&#8230; naming convention is one I adopted, to allow multiple versions to be available, after changing\/saving the <strong>uboot<\/strong> parameters..<\/p>\n<p>More info on all this is at <a title=\"http:\/\/www.devicetree.org\/Main_Page\" href=\"http:\/\/www.devicetree.org\/Main_Page\" target=\"_blank\">http:\/\/www.devicetree.org\/Main_Page,<\/a>\u00a0 and follow the link for &#8216;Device Tree Usage&#8217; for a wealth of <span style=\"text-decoration: underline;\">very<\/span> detailed information..<\/p>\n<p><em>Robert Gadsdon.\u00a0 January 5, 2014..<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>ARM devices on Linux are rapidly moving to use the &#8216;device tree&#8216; format to specify the CPU \/ SoC characteristics at kernel compile time, for producing the boot image&#8230; \u00a0 For systems such as the DreamPlug, this means that the old # make uImage is no longer applicable.. For the DreamPlug, this is an example of the <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/rglinuxtech.com\/?p=986\"><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,6,7,11,16,19],"tags":[1174,628,710,242,1175],"class_list":["post-986","post","type-post","status-publish","format-standard","hentry","category-compilation","category-crash-and-burn","category-dreamplug","category-hacks","category-linux-arm","category-opinion","tag-arm","tag-device-tree","tag-example","tag-linux","tag-success"],"_links":{"self":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/986","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=986"}],"version-history":[{"count":2,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/986\/revisions"}],"predecessor-version":[{"id":988,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/986\/revisions\/988"}],"wp:attachment":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=986"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=986"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=986"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}