Difference between revisions of "Talk:Step-by-step Native Compiling a Kernel"
From odroid US
Line 45: | Line 45: | ||
This is the one that marks a new kernel update... | This is the one that marks a new kernel update... | ||
</pre> | </pre> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Here is the magic for hardfloat kernel build: | ||
+ | <pre> | ||
+ | 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) | ||
+ | </pre> | ||
+ | |||
+ | 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 http://odroid.foros-phpbb.com/t1504-building-your-own-custom-linux-kernel-for-odroid-x-howto] |
Revision as of 13:26, 18 February 2013
- 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 how to get specific changelist:
git clone git://github.com/hardkernel/linux.git -b odroid-3.0.y git checkout [commit id] git reset --hard git checkout -b odroid-3.0.y The commit id (SHA1) should always be the tag merge.. Like this: Merge tag 'v3.0.63' of git://git.kernel.org/pub/scm/linux/kernel/git/ This is the one that marks a new kernel update...
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