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
wget https://github.com/gumstix/meta-gumstix/blob/dylan/recipes-kernel/linux/linux-gumstix-3.5/overo/defconfig cp defconfig linux/.config make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- menuconfig
Build the kernel and modules
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage -j2 OR make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- LOADADDR=0x82000000 uImage 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.
kernel
disable touchscreen input in driver->input device support
disable all of driver->graphics support
added device drivers -> network device support -> wireless lan -> marvel libertas 8787 as module
isc-dhcp-client
firmware-libertas from wheezy backports