Talk:Raspberry Pi Kernel Compilation

=organization= 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.

Gus3

=zImage= 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.

jakartadean

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

remsnet

=ia32-libs= 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://github.com/raspberrypi/firmware.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://github.com/raspberrypi/linux.git cd linux zcat /proc/config.gz > .config nice make; nice make modules 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)
 * 1) optional#make menuconfig
 * 2) … this is the slow bit ...
 * 1) … 5 hours later ...

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)