Talk:Step-by-step Native Compiling a Kernel

From odroid US
Revision as of 20:10, 18 February 2013 by Osterluk (Talk | contribs)

Jump to: navigation, search


  1. note a 'large' initrd is created. Probably a feature-bloated busybox


Here is a forum link to kernel building: http://odroid.foros-phpbb.com/t2216-video-capture#16851

This is mdrjr post for quick reference:


git clone --depth 1 git://github.com/hardkernel/linux.git -b odroid-3.0.y kernel-source
cd kernel-source

make odroidu2_ubuntu_mali_defconfig <- if you want to have 3D enabled
or
make odroidu2_ubuntu_defconfig <- if you don't care about 3D

make menuconfig

go around on the menus, searching for l2tp or things that are used on the IPSeC to add it. When you done..


make -j5 zImage modules
make modules_install
cp arch/arch/boot/zImage /media/boot

sync && reboot

enjoy 

Here is the magic for hardfloat kernel build:

Update: When doing a local build you should specify that you want a hardfloat kernel. This will allow Linux access to the floating point hardware
which it will use for additional registers when calling library routines. That will give a nice boost to performance
To make it easy to recall the options I stick the environment variables in a shell script in /usr/local/bin. You could also place it in /etc/bash.bashrc if you do not mind it
always being set.

# cat /usr/local/bin/kernel_build_opts.sh
export CFLAGS="-O2 -pipe -mfpu=neon -mcpu=armv7l -mfloat-abi=hard"
export CXXFLAGS="${CFLAGS}"

To execute it: . /usr/local/bin/kernel_build_opts.sh
(note: there is a DOT in front of the shell script invocation followed by a space, that will export the flags to the parent shell)

Here is a link to mlinuxguy post on forum: http://odroid.foros-phpbb.com/t1504-building-your-own-custom-linux-kernel-for-odroid-x-howto