Skip to main content

Building RT Kernel

This was done on Mac OSX 10.9 with tcsh

NOTE: THIS STEP IS OBSOLETE

Just use the kernel on the Erle Image or use the latest pre-built RT/PREEMPT kernel for beaglebone.

Erle compiles vanila kernel with PREEMPT flag minus various drivers to slim it down.

https://github.com/beagleboard/linux

References for when you want to reproduce the OS image with PREEMPT kernel

Cross Compile RT Kernel on Desktop

FIXME: Fillin the details.

Install uBoot on a PC running Linux and cross-compile ARM kernel there

Install basic Linux build tools

sudo apt-get install build-essential

Compile u-boot (tools only)

wget ftp://ftp.denx.de/pub/u-boot/u-boot-latest.tar.bz2
tar -xjf u-boot-latest.tar.bz2

cd u-boot-2015.01

export CROSS_COMPILE=arm-linux-gnueabi-
export ARCH=arm
make disclean
make clean
make beagle_x15_defconfig
make tools

sudo install tools/mkimage /usr/local/bin

Build Kernel

git clone git://github.com/beagleboard/kernel.git
cd kernel
git checkout 3.8-rt
./patch.sh
cp configs/beaglebone kernel/arch/arm/configs/beaglebone_defconfig
wget http://arago-project.org/git/projects/?p=am33x-cm3.git\;a=blob_plain\;f=bin/am335x-pm-firmware.bin\;hb=HEAD -O kernel/firmware/am335x-pm-firmware.bin

cd kernel
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- beaglebone_defconfig -j4
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage dtbs -j4
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage-dtb.am335x-boneblack -j4

mkdir -p ~/export/rootfs

Copy the kernel to BBB

FIXME: Fillin the details.

Once new kernel is copied to BBB, Build ArduPilot

Rerefences:

Basically, follow the instructions at: - http://dev.ardupilot.com/wiki/building-the-code/building-for-beaglebone-black-on-linux/ - http://forum.erlerobotics.com/t/compile-new-kernel-and-image/107/2 - https://github.com/notro/fbtft/wiki/BeagleBone-Black - http://dev.ardupilot.com/wiki/building-the-code/building-for-beaglebone-black-on-linux/ - http://wiki.beyondlogic.org/index.php/BeagleBoneBlack_Building_Kernel - http://processors.wiki.ti.com/index.php/Sitara_Linux_Program_the_eMMC_on_Beaglebone_Black