E1XX Kernel hacking¶
Under construction. Al, the CROSS_COMPILE var and path need adapting for the Linaro toolchain.
How to build the kernel for the E1XX.
- Acquire a cross compiler. There are several ways to get a toolchain. The Linaro toolchain is probably the best at the moment: http://www.linaro.org/linaro-blog/2012/04/26/linaro-toolchain-binaries-2012-04-released/.
- Source a file that adds the cross compiler to your path.
export PATH=/usr/local/angstrom/arm/bin:${PATH}
export CROSS_COMPILE=arm-angstrom-linux-gnueabi-
export INSTALL_MOD_PATH=${HOME}/src/install/linux-omap-modules
export INSTALL_MOD_STRIP=1
- Clone the git repo:
git clone git://github.com/balister/linux-omap-philip.git linux-omap
cd linux-omap
- Checkout the E1XX branch:
git checkout origin/e100-3.0-pm-2-bugfixes
- Give this branch a name:
git checkout -b my-e100-kernel
- Create the kernel config file:
cp defconfig .config
- Build the kernel:
make ARCH=arm uImage
- Copy arch/arm/boot/uImage to the e1xx boot partition.
- Build the modules:
make ARCH=arm modules
- Install the modules so we can make a tarball:
make ARCH=arm modules_install
${HOME}/src/install/linux-omap-modules/lib/modules
tar czvf modules.tgz ./3.0.0+/kernel
- Copy modules.tgz to the e1xx.
cd /lib/modules
tar xzvf modules.tgz
- Reboot.
- Run
depmod
- Reboot again.