{"id":345,"date":"2012-08-17T23:02:54","date_gmt":"2012-08-17T23:02:54","guid":{"rendered":"http:\/\/rglinuxtech.com\/?p=345"},"modified":"2012-08-17T23:02:54","modified_gmt":"2012-08-17T23:02:54","slug":"apc-real-progress-bootable-linux-kernel","status":"publish","type":"post","link":"https:\/\/rglinuxtech.com\/?p=345","title":{"rendered":"APC &#8211; Real Progress &#8211; Bootable Linux Kernel.."},"content":{"rendered":"<p>After excellent work done by Mike Thompson from the <strong><em>Raspbian<\/em><\/strong> project, there is now a set of patches and a config file available for the APC-supplied 2.6.32.9+ kernel source, which enables a working kernel to be compiled and run &#8211; although with limited functionality due to &#8216;missing&#8217; device drivers..\u00a0\u00a0 More details at :\u00a0 <a title=\"http:\/\/www.raspbian.org\/ApricotImages\" href=\"http:\/\/www.raspbian.org\/ApricotImages\" target=\"_blank\">http:\/\/www.raspbian.org\/ApricotImages<\/a><\/p>\n<p>To use this, you have to have a USB \/ UART console connection, as described in earlier posts..\u00a0\u00a0\u00a0\u00a0 As this kernel is compiled from the source, it enables a &#8216;real&#8217; <strong>Linux<\/strong> version of the kernel to be produced, which removes the &#8216;<strong><em>boot only from rom<\/em><\/strong>&#8216; problem with the APC-supplied binary kernel, as documented previously..<\/p>\n<p>I have now compiled my own kernel, and booted the APC with it:<\/p>\n<pre>.........\nInitial SD\/MMC Card OK!\nSD\/MMC clock is 44Mhz\nregister mmc device\npart_offset : 800, cur_part : 1\npart_offset : 800, cur_part : 1\nreading uzImage.bin\n\n2706496 bytes read\npart_offset : 800, cur_part : 1\nreading initrd.gz\n\n1644999 bytes read\n\n## Checking Image at 01000000 ...\n\u00a0\u00a0 Image Name:\u00a0\u00a0 Linux-2.6.32.9-default\n\u00a0\u00a0 Image Type:\u00a0\u00a0 ARM Linux Kernel Image (uncompressed)\n\u00a0\u00a0 Data Size:\u00a0\u00a0\u00a0 2706432 Bytes =\u00a0 2.6 MB\n\u00a0\u00a0 Load Address: 00008000\n\u00a0\u00a0 Entry Point:\u00a0 00008000\n\u00a0\u00a0 Verifying Checksum ... OK\n## Booting image at 01000000 ...\n\u00a0\u00a0 Image Name:\u00a0\u00a0 Linux-2.6.32.9-default\n\u00a0\u00a0 Image Type:\u00a0\u00a0 ARM Linux Kernel Image (uncompressed)\n\u00a0\u00a0 Data Size:\u00a0\u00a0\u00a0 2706432 Bytes =\u00a0 2.6 MB\n\u00a0\u00a0 Load Address: 00008000\n\u00a0\u00a0 Entry Point:\u00a0 00008000\n\u00a0\u00a0 Verifying Checksum ... OK\nOK\n\nStarting kernel ...\n\nUncompressing Linux....................................................................\nLinux version 2.6.32.9-default (rgadsdon@rglinux) (gcc version 4.7.1 (GCC) ) #1 Fri Au2\nCPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr=00c5387f\nCPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache\nMachine: WMT\nMemory policy: ECC disabled, Data cache writeback<\/pre>\n<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;etc&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.<\/p>\n<p>For the cross-compile, I used the compiler toolchain available with the OpenELEC XBMC self-contained bootable system for the Raspberry Pi:<\/p>\n<p><strong>armv6zk-openelec-linux-gnueabi-<\/strong><\/p>\n<p>This will now be the foundation of the next phase of my project..\u00a0 To find a way of running Fedora\/ARM 17 on the device..<\/p>\n<p>There may well be &#8216;challenges&#8217; with this, as the APC kernel version is so <strong>ancient<\/strong>..\u00a0 Version 2.6.32.9 was released in February 2010, and is 30 months old!<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>After excellent work done by Mike Thompson from the Raspbian project, there is now a set of patches and a config file available for the APC-supplied 2.6.32.9+ kernel source, which enables a working kernel to be compiled and run &#8211; although with limited functionality due to &#8216;missing&#8217; device drivers..\u00a0\u00a0 More details at :\u00a0 http:\/\/www.raspbian.org\/ApricotImages To use this, <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/rglinuxtech.com\/?p=345\"><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":[3,5,6,11,14,16,20],"tags":[89,101,120,125,1173,298,314],"class_list":["post-345","post","type-post","status-publish","format-standard","hentry","category-apc","category-compilation","category-crash-and-burn","category-hacks","category-kernel","category-linux-arm","category-performance-2","tag-apc-2","tag-boot","tag-compile","tag-config","tag-kernel","tag-patches","tag-raspbian"],"_links":{"self":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/345","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=345"}],"version-history":[{"count":0,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/345\/revisions"}],"wp:attachment":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=345"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=345"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}