We're no longer updating This wiki!!

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

en:xu3_building_kernel_old [2015/02/03 12:40]
charles.park created
en:xu3_building_kernel_old [2015/02/03 12:40] (current)
charles.park created
Line 1: Line 1:
 +
 +===== Getting the Right Kernel =====
 +
 +===== Step-by-Step guide to building a odroid-xu Kernel =====
 +
 +=== Download the cross tool chain package === 
 +
 +[ http://​dn.odroid.com/​ODROID-XU/​compiler/​arm-eabi-4.6.tar.gz ]
 +
 +<WRAP left round tip 70%>
 + ​Note ​
 +  * This toolchain only used to build the kernel.
 +  * This toolchain is included in the Android source package. ($ANDROID_ROOT/​prebuilts/​gcc/​linux-x86/​arm/​arm-eabi-4.6)
 +</​WRAP>​
 +
 +=== Copy the cross tool package to /​opt/​toolchains ===
 +If the '/​opt/​toolchains'​ directory does not exist in host pc, then create the directory.
 +
 +<​code>​
 +$ sudo mkdir /​opt/​toolchains
 +$ sudo cp arm-eabi-4.6.tar.gz /​opt/​toolchains
 +$ cd /​opt/​toolchains
 +$ sudo tar zxvf arm-eabi-4.6.tar.gz
 +</​code>​
 +
 +=== Uncompress the cross tool with tar command ===
 +<​code>​
 +$ cd /​opt/​toolchains
 +$ sudo tar xvfz arm-eabi-4.6.tar.gz
 +</​code>​
 +
 +=== Add Path in your environment file ===
 +Modify your ~/.bashrc file to add a new path with editor (gedit or vi)
 +<​code>​
 +export ARCH=arm
 +export PATH=${PATH}:/​opt/​toolchains/​arm-eabi-4.6/​bin
 +export CROSS_COMPILE=arm-eabi-
 +</​code>​
 +
 +To apply this change, login again or restart the .bashrc
 +<​code>​
 +$ source ~/.bashrc
 +</​code>​
 +
 +=== Check the tool-chain path to see if it is set up correctly or not. ===
 +<​code>​
 +$ arm-eabi-gcc -v
 +Using built-in specs.
 +COLLECT_GCC=arm-eabi-gcc
 +COLLECT_LTO_WRAPPER=/​opt/​toolchain/​arm-eabi-4.6/​bin/​../​libexec/​gcc/​arm-eabi/​4.6.x-google/​lto-wrapper
 +Target: arm-eabi
 +Configured with: /​tmp/​android-15472/​src/​build/​../​gcc/​gcc-4.6/​configure --prefix=/​usr/​local --target=arm-eabi --host=x86_64-linux-gnu ​
 +--build=x86_64-linux-gnu --with-gnu-as --with-gnu-ld --enable-languages=c,​c++ --with-gmp=/​tmp/​android-15472/​obj/​temp-install --with-
 +mpfr=/​tmp/​android-15472/​obj/​temp-install --with-mpc=/​tmp/​android-15472/​obj/​temp-install --without-ppl --without-cloog --disable-libs
 +sp --enable-threads --disable-nls --disable-libmudflap --disable-libgomp --disable-libstdc__-v3 --disable-sjlj-exceptions --disable-
 +shared --disable-tls --disable-libitm --with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-target-optspace --with-abi=aapcs
 + ​--with-gcc-version=4.6 --with-binutils-version=2.21 --with-gmp-version=4.2.4 --with-mpfr-version=2.4.1 --with-gdb-version=7.3.x --w
 +ith-arch=armv5te --with-sysroot=/​tmp/​android-15472/​install/​sysroot --with-prefix=/​tmp/​android-15472/​install --with-gold-version=2.21
 + ​--enable-gold --disable-gold --disable-multilib --program-transform-name='​s&​^&​arm-eabi-&'​
 +Thread model: single
 +gcc version 4.6.x-google 20120106 (prerelease) (GCC)
 +</​code>​
 +
 +
 +====== Linux ======
 +
 +Linux ODROID-XU3 works as follow:
 +
 +It must have at least two partitions.
 +
 +First Partition must be a FAT32/EXT4 partition. ​
 +
 +Second Partition can be whatever the Filesystem that your kernel supports (must be built in).
 +
 +Note: It is possible to use the first partition as ext4, however its strongly not recommended due to Windows Users lost the capability of changing boot.ini
 +
 +=== Partition Contents ===
 +
 +Partition 1:
 +  * Kernel Image (zImage)
 +  * boot.scr
 +  * exynos5422-odroidxu3.dtb
 +  * uInitrd (if applicable)
 +
 +Partition 2:
 +  * rootfs (a.k.a. File System)
 +
 +=== Currently Supported Linux Distributions ===
 +  * Ubuntu 14.04 [[http://​forum.odroid.com/​viewtopic.php?​f=95&​t=5985|Ubuntu 14.04 Forum Thread]]
 +Note: More distribution support will come with time.
 +
 +=== HDMI Support On Linux ===
 +
 +HDMI support should work out-of-box for everyone including framebuffer console if you experience any issue please contact us on the [[http://​forum.odroid.com|ODROID Forums]]
 +
 +On the provided Ubuntu image there are several examples on how to configure the HDMI to your specific resolution or even lock to a certain resolution.
 +You can check the configuration file on /​media/​boot/​boot.ini of the Ubuntu Image
 +
 +=== DisplayPort Support on Linux ===
 +
 +For displayport configuration please follow this guide [[http://​forum.odroid.com/​viewtopic.php?​f=95&​t=5976|Displayport Guide on ODROID Forums]]
 +
 +
 +=== Kernel Sources ===
 +Kernel sources for ODROID-XU3 is on our [[http://​github.com/​hardkernel/​linux|Github]].
 +Branch is **odroidxu3-3.10.y**
 +defconfig is **odroidxu3_defconfig**
 +
 +=== Kernel Rebuild Guide ===
 +Please follow the instructions below to rebuild the Linux Kernel for ODROID.
 +
 +Those instructions cover native build of the Kernel.
 +
 +  - Install dependencies:​ **apt-get install build-essential libqt4-dev libncurses5-dev git**
 +  - Clone Repo: **git clone --depth 1 https://​github.com/​hardkernel/​linux.git -b odroidxu3-3.10.y odroidxu-3.10.y**
 +<​code>​ git clone --depth 1 https://​github.com/​hardkernel/​linux.git -b odroidxu3-3.10.y odroidxu3-3.10.y </​code>​
 +  - Configure Kernel: **make odroidxu3_defconfig**
 +  - Do changes if you need/want: **make menuconfig** or **make xconfig**
 +  - Build Kernel and Modules: **make -j9**
 +  - Install zImage: **cp arch/​arm/​boot/​zImage /​media/​boot**
 +  - Install DTB File: **cp arch/​arm/​boot/​dts/​exynos5422-odroidxu3.dtb /​media/​boot**
 +  - Install Modules: **make modules_install**
 +  - Copy .config to /boot for initramfs creation: **cp .config /​boot/​config-`make kernelrelease`**
 +  - Create initramfs: **update-initramfs -c -k `make kernelrelease`**
 +  - Create uInitrd: **mkimage -A arm -O linux -T ramdisk -C none -a 0 -e 0 -n uInitrd -d /​boot/​initrd.img-`make kernelrelease` /​boot/​uInitrd-`make kernelrelease`**
 +  - Install new uInitrd: **cp /​boot/​uInitrd-`make kernelrelease` /​media/​boot/​uInitrd**
 +  - reboot: **sync && reboot**
 +
 +Your new kernel should be installed.
 +Note for your own convenience we provide daily builds of Linux kernel that can be easily installed on Supported distros by using a ODROID Utility.
 +<​code>​
 +sudo -s
 +wget -O /​usr/​local/​bin/​odroid-utility.sh https://​raw.githubusercontent.com/​mdrjr/​odroid-utility/​master/​odroid-utility.sh
 +chmod +x /​usr/​local/​bin/​odroid-utility.sh
 +odroid-utility.sh</​code>​
  
en/xu3_building_kernel_old.txt ยท Last modified: 2015/02/03 12:40 by charles.park
CC Attribution-Share Alike 3.0 Unported
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0