{"id":1699,"date":"2016-04-15T20:42:15","date_gmt":"2016-04-15T19:42:15","guid":{"rendered":"http:\/\/rglinuxtech.com\/?p=1699"},"modified":"2016-04-15T20:42:15","modified_gmt":"2016-04-15T19:42:15","slug":"arm64-pi3-64-bit-tribulations-too-soon-for-stability","status":"publish","type":"post","link":"https:\/\/rglinuxtech.com\/?p=1699","title":{"rendered":"ARM64 &#8211; Pi3 64-Bit Tribulations..  Too Soon for Stability.."},"content":{"rendered":"<p>I had ordered a Raspberry Pi 3 back in March in the hope that it would be a useful exercise in 64-bit on a different chipset..\u00a0\u00a0\u00a0 I was (somewhat) disappointed to find that there was no initial 64-bit support, and indeed that I had been a bit of a pioneer in even running armv7 code on my Pi 2!<\/p>\n<p>After checking the GIT repositories in recent weeks for 64-bit U-Boot and Kernel, I started some tests..\u00a0\u00a0\u00a0 The first painful discovery was the &#8216;hijacking&#8217; of the UART\/Console port on the device, for use by Bluetooth hardware&#8230;\u00a0\u00a0\u00a0 This had echoes of the Geekbox SDcard\/UART scenario mentioned in a previous article, but at least this time there seemed to be a workaround &#8211; of sorts, except that on my Pi3 (with a temporary 32-bit setup) I only saw the kernel boot output, and not the earlier U-Boot commands..<\/p>\n<p>Some more info (and much &#8216;speculation&#8217;..) is on the Pi Forum:\u00a0 <a href=\"https:\/\/www.raspberrypi.org\/forums\/viewtopic.php?f=72&amp;t=137963\" target=\"_blank\">https:\/\/www.raspberrypi.org\/forums\/viewtopic.php?f=72&amp;t=137963<\/a>\u00a0 There are some &#8216;instructions&#8217; near the end of the thread..<\/p>\n<p>I had tried to follow various instructions to get U-Boot working as a start, but ran up against the inevitable &#8216;moving target&#8217; problem with GIT repositories..\u00a0\u00a0\u00a0\u00a0 The version that was alleged to work had been superseded, and in some cases the <em>specified<\/em> checkout version was no longer in existence..<\/p>\n<p>There are (at least) two GIT repositories with U-Boot:\u00a0\u00a0 <a href=\"https:\/\/github.com\/swarren\/u-boot\/tree\/rpi_dev\" target=\"_blank\">https:\/\/github.com\/swarren\/u-boot\/tree\/rpi_dev<\/a> and <a href=\"https:\/\/github.com\/zeldin\/u-boot-rpi3\/tree\/master\" target=\"_blank\">https:\/\/github.com\/zeldin\/u-boot-rpi3\/tree\/master<\/a>..\u00a0\u00a0\u00a0 I have &#8211; so far &#8211; not had any luck getting the first one to work, and the second version did show up, but aborted almost immediately:<\/p>\n<pre><strong><span style=\"font-family: courier new,courier;\">U-Boot 2016.03-rc3-g96a6c2f (Apr 14 2016 - 23:45:59 -0700)<\/span><\/strong>\r\n\r\n<strong><span style=\"font-family: courier new,courier;\">DRAM: 944 MiB<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">\"Synchronous Abort\" handler, esr 0x02000000<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">ELR: 3af4110c<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">LR: 3af4237c<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">x0 : 0000000000c51838 x1 : 000000000000000c<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">x2 : 000000000004f760 x3 : 000000000004f760<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">x4 : 000000003af636c4 x5 : 0000000000000160<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">x6 : 0000000000010000 x7 : 000000000000000a<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">x8 : 0000000007fff7b0 x9 : 000000003af41000<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">x10: 0000000000000000 x11: 0000000000000001<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">x12: 00000000ffffffff x13: 00000000ffffffff<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">x14: c0cb10620de021b8 x15: a98c11034c806420<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">x16: cd75c246083527b0 x17: 0000a00000000000<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">x18: 000000003ab3ce08 x19: 000000003ab3cce0<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">x20: 0481000000020000 x21: f37e600000000000<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">x22: 000000000000000d x23: 000000000002000d<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">x24: 001000006c5225e8 x25: 000000003e6a3d9a<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">x26: 21380000fcf19ef4 x27: 00000000a5ff98a5<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">x28: 0080000037b7f368 x29: 0000000000000084<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">Resetting CPU ...<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">resetting ...<\/span><\/strong>\r\n\r\n<strong><span style=\"font-family: courier new,courier;\">&lt;&lt; repeats.... &gt;&gt;<\/span><\/strong><\/pre>\n<p>I had no problem getting U-Boot to work on the Pi2, but this is a bit more complex&#8230;\u00a0\u00a0\u00a0 There is another dimension to the moving targets, as it appears the Pi firmware has recently been updated, and when I loaded the latest version from the Pi GIT repository, even the second U-Boot stopped working, with nothing showing on the screen at all..<\/p>\n<p>So&#8230;\u00a0 My plan now is to leave everything until the dust has settled, and there is more stability in firmware\/u-boot\/kernel\/ versions..\u00a0\u00a0\u00a0\u00a0\u00a0 This was always just an academic exercise, in any case, as it has been pointed out by many that the Pi3 has too little memory available to take advantage of 64-bit processing, and in many circumstances would actually be <span style=\"text-decoration: underline;\">slower<\/span> than in 32-bit mode..<\/p>\n<p><em>Robert Gadsdon.\u00a0\u00a0 April 15, 2016.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I had ordered a Raspberry Pi 3 back in March in the hope that it would be a useful exercise in 64-bit on a different chipset..\u00a0\u00a0\u00a0 I was (somewhat) disappointed to find that there was no initial 64-bit support, and indeed that I had been a bit of a pioneer in even running armv7 code on my <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/rglinuxtech.com\/?p=1699\"><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":[1132,1131,1280,6,11,1298,16,19,20,21,937],"tags":[1133,148,1321,1320,1319,1318,363,372],"class_list":["post-1699","post","type-post","status-publish","format-standard","hentry","category-aarch64","category-arm64","category-boot","category-crash-and-burn","category-hacks","category-hardware","category-linux-arm","category-opinion","category-performance-2","category-raspberry-pi","category-u-boot-2","tag-arm64","tag-fail","tag-git-versions-changing","tag-performance-issues","tag-plans","tag-raspberry-pi-3","tag-tests","tag-u-boot"],"_links":{"self":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/1699","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=1699"}],"version-history":[{"count":1,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/1699\/revisions"}],"predecessor-version":[{"id":1700,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/1699\/revisions\/1700"}],"wp:attachment":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1699"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1699"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1699"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}