{"id":1297,"date":"2015-02-08T20:52:00","date_gmt":"2015-02-08T20:52:00","guid":{"rendered":"http:\/\/rglinuxtech.com\/?p=1297"},"modified":"2015-03-03T16:58:04","modified_gmt":"2015-03-03T16:58:04","slug":"arm-odroid-u3-kernel-compilation","status":"publish","type":"post","link":"https:\/\/rglinuxtech.com\/?p=1297","title":{"rendered":"ARM &#8211; Odroid U3 Kernel Compilation.."},"content":{"rendered":"<p>This is a workflow for compilation of a kernel + device tree for the Odroid U3.\u00a0\u00a0 There are other ways of doing this, but this one works, for me..<\/p>\n<p>Compilation works fine on the device itself, so no need for cross-compilations..<\/p>\n<p>This is for a device with root filesystem and boot partition on one SDcard..<\/p>\n<p>Source from: <a title=\"https:\/\/github.com\/tobiasjakobi\/linux-odroid\/tree\/odroid-3.19.y\" href=\"https:\/\/github.com\/tobiasjakobi\/linux-odroid\/tree\/odroid-3.19.y\">https:\/\/github.com\/tobiasjakobi\/linux-odroid\/tree\/odroid-3.19.y<\/a><\/p>\n<pre><strong># git clone -b odroid-3.19.y --single-branch https:\/\/github.com\/tobiasjakobi\/linux-odroid<\/strong><\/pre>\n<p>then:<\/p>\n<pre><strong># make exynos4412_defconfig <\/strong>(to get the base config...) &lt;&lt; Updated March 3, 2015 - exynos4412_odroid_defconfig was only included with 3.19-rc7 source &gt;&gt;<\/pre>\n<pre><strong># make xconfig... <\/strong>(make any changes, to add selinux, remove debugging, etc. if needed..)<\/pre>\n<pre><strong># make zImage<\/strong><\/pre>\n<pre><strong># make dtbs<\/strong><\/pre>\n<pre><strong># rm -f \/boot\/uboot\/zImage_old <\/strong><\/pre>\n<pre><strong># mv \/boot\/uboot\/zImage \/boot\/uboot\/zImage_old  <\/strong>(save the previous kernel version, just in case..)<\/pre>\n<pre><strong># cp arch\/arm\/boot\/zImage \/boot\/uboot\/zImage<\/strong><\/pre>\n<pre><strong># cp arch\/arm\/boot\/zImage \/boot\/uboot\/zImagep arch\/arm\/boot\/dts\/exynos4412-odroidu3.dtb \/boot\/uboot<\/strong><\/pre>\n<pre><strong># make modules<\/strong><\/pre>\n<pre><strong># make modules_install<\/strong><\/pre>\n<pre><strong># make firmware_install\u00a0 <\/strong>(if required..)<\/pre>\n<pre><strong>cp .config \/home\/&lt;username&gt;\/kernel-config-319rc7 <\/strong>(if you want to save the config)<\/pre>\n<pre><strong>cp System.map \/boot<\/strong><\/pre>\n<p>Then reboot the device, with USB console connected (using putty or equivalent)<\/p>\n<p>Uboot commands:<\/p>\n<pre><strong>setenv initrd_high \"0xffffffff\"<\/strong>\r\n<strong>setenv fdt_high \"0xffffffff\"<\/strong>\r\n<strong>setenv fb_x_res \"1920\"<\/strong>\r\n<strong>setenv fb_y_res \"1080\"<\/strong>\r\n<strong>setenv hdmi_phy_res \"1080\"<\/strong>\r\n<strong>setenv bootargs \"console=tty1 console=ttySAC1,115200n8 fb_x_res=${fb_x_res} fb_y_res=${fb_y_res} hdmi_phy_res=${hdmi_phy_res} root=\/dev\/mmcblk0p3 rootfs=ext4 rootwait rw mem=2047M\"<\/strong>\r\n<strong>setenv bootcmd \"fatload mmc 0:1 0x40008000 zImage; fatload mmc 0:1 0x41f00000 exynos4412-odroidu3.dtb; bootz 0x40008000 - 0x41f00000\"<\/strong>\r\n<strong>saveenv <\/strong>(only needed once, to save any changes)\r\n<strong> ......<\/strong>\r\n<strong>boot<\/strong><\/pre>\n<p>If all goes well:<\/p>\n<pre><strong>..........<\/strong>\r\n<strong>Kernel 3.19.0-rc7 on an armv7l (ttySAC1)<\/strong>\r\n<strong>[root@rgodroid ~]# uname -a<\/strong>\r\n<strong>Linux rgodroid 3.19.0-rc7 #2 SMP PREEMPT Wed Feb 4 19:47:36 EST 2015 armv7l armv7l armv7l GNU\/Linux<\/strong><\/pre>\n<p><em>Robert Gadsdon.\u00a0\u00a0 February 8, 2014<\/em><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is a workflow for compilation of a kernel + device tree for the Odroid U3.\u00a0\u00a0 There are other ways of doing this, but this one works, for me.. Compilation works fine on the device itself, so no need for cross-compilations.. This is for a device with root filesystem and boot partition on one SDcard.. Source from: <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/rglinuxtech.com\/?p=1297\"><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":[15],"tags":[1174,628,710,986,1005,242,795,898],"class_list":["post-1297","post","type-post","status-publish","format-standard","hentry","category-linux-2","tag-arm","tag-device-tree","tag-example","tag-kernel-3-19","tag-kernel-compile","tag-linux","tag-odroid-u3","tag-workflow"],"_links":{"self":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/1297","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=1297"}],"version-history":[{"count":6,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/1297\/revisions"}],"predecessor-version":[{"id":1353,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/1297\/revisions\/1353"}],"wp:attachment":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1297"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1297"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1297"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}