{"id":43,"date":"2012-03-10T16:07:52","date_gmt":"2012-03-10T16:07:52","guid":{"rendered":"http:\/\/rglinuxtech.com\/?p=43"},"modified":"2012-03-10T16:07:52","modified_gmt":"2012-03-10T16:07:52","slug":"pi-preparation-an-appropriate-kernel-cross-compiler-toolchain","status":"publish","type":"post","link":"https:\/\/rglinuxtech.com\/?p=43","title":{"rendered":"Pi Preparation..  An appropriate kernel cross-compiler toolchain"},"content":{"rendered":"<p>The Fedora armv5tel \/ x86_64 cross-compiler toolchain is a bit ancient (GCC 4.1.2!), and the Pi is armv6..\u00a0 So.. I needed a more up-to-date and architecture-friendly substitute..<\/p>\n<p>After some abortive attempts (some of the other armv7 cross-compilers were just as old!)\u00a0\u00a0 I found a set of armv7 \/ x86_64 cross-compiler rpms &#8211; including gcc version 4.6.1 &#8211; from a certain Franco-Brazilian distro, and &#8216;unpacked&#8217; the rpms (using ark) and did a rough-and-ready manual install+hack on my Fedora 16 x86_64 main system.. including fixing and &#8216;creating&#8217; a few appropriate softlinks..<\/p>\n<p>So, I now have:<\/p>\n<ul>\n<li>armv7l-mandriva-linux-gnueabi-addr2line<\/li>\n<li>armv7l-mandriva-linux-gnueabi-ar<\/li>\n<li>armv7l-mandriva-linux-gnueabi-as<\/li>\n<li>armv7l-mandriva-linux-gnueabi-c++<\/li>\n<li>armv7l-mandriva-linux-gnueabi-c++filt<\/li>\n<li>armv7l-mandriva-linux-gnueabi-cpp<\/li>\n<li>armv7l-mandriva-linux-gnueabi-elfedit<\/li>\n<li>armv7l-mandriva-linux-gnueabi-g++<\/li>\n<li>armv7l-mandriva-linux-gnueabi-gcc<\/li>\n<li>armv7l-mandriva-linux-gnueabi-gcc-4.6.1<\/li>\n<li>armv7l-mandriva-linux-gnueabi-gcov<\/li>\n<li>armv7l-mandriva-linux-gnueabi-gprof<\/li>\n<li>armv7l-mandriva-linux-gnueabi-ld<\/li>\n<li>armv7l-mandriva-linux-gnueabi-ld.bfd<\/li>\n<li>armv7l-mandriva-linux-gnueabi-nm<\/li>\n<li>armv7l-mandriva-linux-gnueabi-objcopy<\/li>\n<li>armv7l-mandriva-linux-gnueabi-objdump<\/li>\n<li>armv7l-mandriva-linux-gnueabi-ranlib<\/li>\n<li>armv7l-mandriva-linux-gnueabi-readelf<\/li>\n<li>armv7l-mandriva-linux-gnueabi-size<\/li>\n<li>armv7l-mandriva-linux-gnueabi-strings<\/li>\n<li>armv7l-mandriva-linux-gnueabi-strip&#8230;&#8230;&#8230;&#8230;\u00a0 etc.\u00a0 etc..<\/li>\n<\/ul>\n<p>&#8211; and as I don&#8217;t have a Pi, yet, I tested these by using them to compile a kernel for my armv5 Dreamplug, and (amazingly) it all worked!<\/p>\n<p>$ uname -a<br \/>\nLinux rgdreamplug 3.3.0-rc6 #3 Sat Mar 10 14:16:41 GMT 2012 armv5tel armv5tel armv5tel GNU\/Linux<\/p>\n<p>Usual disclaimer &#8211; This worked on my system\u00a0 It may not on yours. If you are unsure how to do all this &#8211; Don&#8217;t!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Fedora armv5tel \/ x86_64 cross-compiler toolchain is a bit ancient (GCC 4.1.2!), and the Pi is armv6..\u00a0 So.. I needed a more up-to-date and architecture-friendly substitute.. After some abortive attempts (some of the other armv7 cross-compilers were just as old!)\u00a0\u00a0 I found a set of armv7 \/ x86_64 cross-compiler rpms &#8211; including gcc version 4.6.1 &#8211; <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/rglinuxtech.com\/?p=43\"><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":[7,10,11,16,21],"tags":[1174,131,154,1173,242,253],"class_list":["post-43","post","type-post","status-publish","format-standard","hentry","category-dreamplug","category-fedora","category-hacks","category-linux-arm","category-raspberry-pi","tag-arm","tag-cross-compile","tag-fedora-2","tag-kernel","tag-linux","tag-mandriva"],"_links":{"self":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/43","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=43"}],"version-history":[{"count":0,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/43\/revisions"}],"wp:attachment":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=43"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=43"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=43"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}