Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
en:c2_building_kernel [2016/03/10 18:44] brian.kim [Toolchain (4.9.2)] |
en:c2_building_kernel [2017/02/06 18:25] (current) codewalker [Checkout] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Kernel ====== | ====== Kernel ====== | ||
This page introduce how you can download and compile the Linux kernel for **ODROID-C2**. | This page introduce how you can download and compile the Linux kernel for **ODROID-C2**. | ||
- | ===== Cross Compile(HOST-PC/Ubuntu) ===== | + | ===== Cross Compile - HOST-PC/Ubuntu ===== |
==== Installing required packages ==== | ==== Installing required packages ==== | ||
You will need install required packages before you start to build Linux kernel on your Ubuntu desktop. | You will need install required packages before you start to build Linux kernel on your Ubuntu desktop. | ||
<code> | <code> | ||
$ sudo apt-get update | $ sudo apt-get update | ||
- | $ sudo apt-get install git lzop build-essential gcc libncurses5-dev libc6-i386 | + | $ sudo apt-get install git lzop build-essential gcc libncurses5-dev libc6-i386 lib32stdc++6 zlib1g:i386 |
</code> | </code> | ||
==== Toolchain (4.9.2) ==== | ==== Toolchain (4.9.2) ==== | ||
Click one of the site to download toolchain to build Linux kernel. | Click one of the site to download toolchain to build Linux kernel. | ||
- | * [[https://releases.linaro.org/14.09/components/toolchain/binaries/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux.tar.xz|Download #1]] | + | * [[http://releases.linaro.org/archive/14.09/components/toolchain/binaries/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux.tar.xz|Download #1]] |
+ | * [[http://dn.odroid.com/toolchains/gcc-linaro-aarch64-none-elf-4.9-2014.09_linux.tar.xz|Download #2]] | ||
Once the download is done, extract the tarball to **/opt/toolchains/**. | Once the download is done, extract the tarball to **/opt/toolchains/**. | ||
<code> | <code> | ||
Line 44: | Line 45: | ||
=== Android === | === Android === | ||
+ | == Lollipop == | ||
<code> | <code> | ||
$ git clone --depth 1 https://github.com/hardkernel/linux.git -b odroidc2-3.14.y-android | $ git clone --depth 1 https://github.com/hardkernel/linux.git -b odroidc2-3.14.y-android | ||
$ cd linux | $ cd linux | ||
</code> | </code> | ||
+ | == Marshamollow == | ||
+ | <code> | ||
+ | $ git clone --depth 1 https://github.com/hardkernel/linux.git -b odroidc2-3.14.y-android | ||
+ | $ cd linux | ||
+ | </code> | ||
+ | |||
=== Linux === | === Linux === | ||
Line 123: | Line 131: | ||
</code> | </code> | ||
- | ===== Native Compile(ODROID-C2/Ubuntu) ===== | + | ===== Native Compile - ODROID-C2/Ubuntu ===== |
+ | <WRAP center round important 100%> | ||
+ | **Note** | ||
+ | * 8GB eMMC/SD card have not enough space to build kernel source. In order to do native compile, the **5GB** of storage space is required at least. | ||
+ | </WRAP> | ||
==== Installing required packages ==== | ==== Installing required packages ==== | ||
You will need install required packages before you start to build Linux kernel on your Ubuntu ODROID-C2. | You will need install required packages before you start to build Linux kernel on your Ubuntu ODROID-C2. | ||
<code> | <code> | ||
- | $ sudo apt-get update | + | odroid@odroid64:~$ sudo apt-get update |
- | $ sudo apt-get install git | + | odroid@odroid64:~$ sudo apt-get install git |
</code> | </code> | ||
==== Toolchain (4.9.2) ==== | ==== Toolchain (4.9.2) ==== | ||
- | The kernel for ODROID-C2 does not support gcc 5.x version yet. So, you have to change to the gcc 4.9 version in order to build ODROID-C2 kernel. | + | The kernel for ODROID-C2 does not support gcc 5.x version yet. So, you must change to the gcc 4.9 version in order to build ODROID-C2 kernel. |
<code> | <code> | ||
- | $ sudo apt-get install gcc-4.9 | + | odroid@odroid64:~$ sudo apt-get install gcc-4.9 |
- | $ sudo ln -s /usr/bin/gcc-4.9 /usr/bin/gcc | + | odroid@odroid64:~$ sudo rm /usr/bin/gcc |
- | $ gcc -v | + | odroid@odroid64:~$ sudo ln -s /usr/bin/gcc-4.9 /usr/bin/gcc |
+ | odroid@odroid64:~$ gcc -v | ||
+ | Using built-in specs. | ||
+ | COLLECT_GCC=gcc | ||
+ | COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/4.9/lto-wrapper | ||
+ | Target: aarch64-linux-gnu | ||
+ | Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.9.3-12ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.9/u | ||
+ | Thread model: posix | ||
+ | gcc version 4.9.3 (Ubuntu/Linaro 4.9.3-12ubuntu1) | ||
+ | </code> | ||
+ | ==== Checkout ==== | ||
+ | <code> | ||
+ | odroid@odroid64:~$ git clone --depth 1 https://github.com/hardkernel/linux.git -b odroidc2-3.14.y | ||
+ | odroid@odroid64:~$ cd linux | ||
</code> | </code> | ||
+ | ==== Compile & Installation ==== | ||
+ | <code> | ||
+ | odroid@odroid64:~/linux$ make odroidc2_defconfig | ||
+ | odroid@odroid64:~/linux$ make -j4 | ||
+ | odroid@odroid64:~/linux$ sudo make modules_install | ||
+ | odroid@odroid64:~/linux$ sudo cp -f arch/arm64/boot/Image arch/arm64/boot/dts/meson64_odroidc2.dtb /media/boot/ | ||
+ | odroid@odroid64:~/linux$ sudo sync | ||
+ | odroid@odroid64:~/linux$ sudo reboot | ||
+ | </code> |