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
- http://forum.erlerobotics.com/t/compile-new-kernel-and-image/107
- https://github.com/erlerobot/apm-copter.erle
- https://eewiki.net/display/linuxonarm/BeagleBone+Black
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
- http://stackoverflow.com/questions/23871924/cc1-error-bad-value-armv5-for-march-switch
- http://www.denx.de/wiki/view/DULG/UBootConfiguration
- http://beagleboard.org/project/U-Boot+%28V1%29/
- http://processors.wiki.ti.com/index.php/Sitara_Linux_Program_the_eMMC_on_Beaglebone_Black
- http://wiki.beyondlogic.org/index.php/BeagleBoneBlack_Building_Kernel
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