Talk:Raspberry Pi Kernel Compilation

Jump to: navigation, search


This page could use a re-organization. Currently, most of the page is concerned with cross-platform compilation, with a lot of duplication in the kernel build step. I propose a breakdown thus:

  • Overview
  • Getting the toolchain for cross-compilation (if needed)
  • Configuring the kernel
with special emphasis on built-in vs. modular drivers
  • Building the kernel
  • Installing the kernel

Another possibility is to give cross-compilation its own page, to cover toolchain acquisition for different host platforms. Given that the RPi isn't the only embedded to use ARM CPU's, such a page could serve the same purpose for several ARM platforms. (For that matter, each CPU on such a page could have its own section on toolchain acquisition.) Then, the "kernel compilation" page could deal more succinctly with process of configuring and building the kernel for the RPi platform.



Note: zImage not supported by the last loader, officially confirmed! Only the uncompressed kernel image is supported.

Just a quick note from an amateur: The cross compilation description includes building everything under /opt. I build everything for myself under ~/opt, which seems both easier and safer.


EDIT ( 17-04-2013 ): zImage BEEN confirmed with 3.8.6 and up. relevant Compiler settings must be made same way as on Intel



I'm a newbie and had a problem running the pre-compiled tools (arm-bcm2708hardfp-linux-gnueabi-*) on my 64-bit host (Xubuntu 12.10). Installing ia32-libs on the host fixed the problem.

Is it OK to add this somewhere?

Ftheile (talk)

simple example

IMO this page is now a mess. At some point there were simple examples like this:

apt-get update
apt-get -y dist-upgrade
apt-get -y install git gcc make
cd /opt
git clone --depth 1 git://
cd firmware/boot
cp arm128_start.elf arm192_start.elf arm224_start.elf bootcode.bin loader.bin start.elf /boot/
cd /opt
rm -r firmware
mkdir raspberrypi
cd raspberrypi
git clone --depth 1 git://
cd linux
zcat /proc/config.gz > .config
#optional#make menuconfig
############## … this is the slow bit ...
nice make; nice make modules
############## … 5 hours later ...
cp arch/arm/boot/Image /boot/kernel.img
make ARCH=arm modules_install INSTALL_MOD_PATH=/
cd /opt
rm -r raspberrypi
shutdown -r now

--Elatllat (talk) 06:53, 31 January 2013 (UTC)

This currently fails at `cp arm128_start.elf arm192_start.elf arm224_start.elf bootcode.bin loader.bin start.elf /boot/` as the files doesn't exist. ---Kidmose (talk) 11:50, 19 March 2014 (CET)

There are no threads on this page yet.