Kernel Preparation
Install dependencies
sudo apt-get install u-boot-tools g++-arm-linux-gnueabi
Download the kernel
cd overo mkdir kernel-dev cd kernel-dev git clone git://github.com/gumstix/linux.git linux cd linux git checkout omap-3.5
The default configuration can be found on gumstix's github page: https://github.com/gumstix/Gumstix-YoctoProject-Repo/wiki. Copy the file and rename it as ".config" in ~/overo/kernel-dev/linux
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- menuconfig
Current modifications:
- disable touchscreen input in driver -> input device support
- disable all of driver -> graphics support
Build the kernel and modules
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage -j2 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules -j2
The resulting uImage should be built in arch/arm/boot. Modules will be installed by the script that makes the SD card.
UBoot
Get the omap-v2014.10 u-boot branch from gumstix github.
cd ~/overo mkdir uboot-dev cd uboot-dev git clone git://github.com/gumstix/u-boot.git u-boot cd u-boot git checkout omap-v2014.10
To change the pin mux, modify overo.h
in board/overo
. The build:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- omap3_overo_config make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- all -j4
Both MLO and u-boot will be built in the top u-boot directory.
Rootfs
The package firmware-libertas is required from wheezy backports. Add the following lines to /etc/apt/sources.list.d/multistrap-wheezy.list
in the rootfs.
deb [arch=armel] http://mv.ezproxy.com.ezproxyberklee.flo.org/debian wheezy-backports non-free deb-src http://mv.ezproxy.com.ezproxyberklee.flo.org/debian wheezy-backports non-free
Then install the package:
apt-get update apt-get install firmware-libertas
libnl
libnl-3-dev
libnl-genl-3-dev
libssldev