Difference between revisions of "Kernel compiling"
From odroid US
Sebastian s (Talk | contribs) (→Prerequisites) |
Sebastian s (Talk | contribs) (→Configuring the kernel) |
||
Line 34: | Line 34: | ||
</pre> | </pre> | ||
Text mode: | Text mode: | ||
− | <pre>apt-get install | + | <pre>apt-get install libncurses5-dev |
make menuconfig</pre> | make menuconfig</pre> | ||
Graphical mode: | Graphical mode: | ||
Line 40: | Line 40: | ||
make xconfig</pre> | make xconfig</pre> | ||
change everything to your needs (use / for searching) | change everything to your needs (use / for searching) | ||
+ | |||
=== Building the kernel === | === Building the kernel === | ||
<pre>make -j8 | <pre>make -j8 |
Revision as of 04:09, 13 January 2013
WATCH THE SIZE OF YOUR BOOT PARTITION, MAYBE YOU HAVE TO DELETE SOME OF THE BACKUP FILES!
DO THIS ON YOUR ODROID, NOT ON YOUR PC!
Contents
Prerequisites
make sure you have the neccessary programs installed
apt-get -y install p7zip-full build-essential libncurses5-dev
Grabbing the source
you can easily build the kernel on your own. grab the source from github:
- browse to https://github.com/hardkernel/linux
- choose your branch (as of today -2013-01-12- it's odroid-3.0.y)
wget https://github.com/hardkernel/linux/archive/odroid-3.0.y.zip
Unpacking the source
mv odroid-3.0.y.zip /usr/src/linux.zip cd /usr/src 7z x -y linux.zip > /dev/null mv linux-odroid* linux
Configuring the kernel
cd /usr/src/linux
make sure to select the correct config for your device in the next step. execute the following to get a list of odroid kernel configs:
ls /usr/src/linux/arch/arm/configs/ | grep odroid
now choose your config and copy it to /usr/src/linux/.config (i chose odroid-x2s ubuntu config)
cp arch/arm/configs/odroidx2_ubuntu_defconfig /usr/src/linux/.config
Text mode:
apt-get install libncurses5-dev make menuconfig
Graphical mode:
apt-get install qt4-dev-tools make xconfig
change everything to your needs (use / for searching)
Building the kernel
make -j8 make modules_install make zImage
Copying the kernel and initramfs to the boot partition
kernelversion=`cat ./include/config/kernel.release` mount -o bind /media/boot/ /boot cp /media/boot/zImage /media/boot/zImage.prev cp /media/boot/uInitrd /media/boot/uInitrd.prev cp arch/arm/boot/zImage /media/boot cp .config /boot/config-$kernelversion
optionally:
cp System.map /boot/System.map-$kernelversion
NOT optional:
mkinitramfs -c gzip -o ./initramfs-$kernelversion $kernelversion mkimage -A arm -O linux -T ramdisk -C none -a 0 -e 0 -n initramfs -d ./initramfs-$kernelversion ./uInitrd cp uInitrd /media/boot
halt:
shutdown -h 0
power cycle after that.