Kernel
http://elinux.org/RPi_Software#Kernel
The initial patches (Media:Rpi-linux-patches-3.1.9.tgz) are released against the 3.1.9 kernel - but may also work against later kernels.The kernel is now also available on https://github.com/raspberrypi/linux
[..]
Compiler
The Broadcom processor on Raspberry Pi contains an ARM v6 general purpose processor and a Broadcom VideoCore IV GPU. No data is currently available on other cores (if any) available in the BCM2835.ARM
There is broad compiler support including gcc - please see ARM CompilersThe ARM is capable of around 500 BOGOMIPS [1], 5400 LINPACK KFLOPS with software floating point and 22000 KFLOPS with softfp hardware floating point[2].
The gcc compiler flags which will produce the most optimal code for the RPi are probably (can someone check!):
-mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=softfp [-marm or -mthumb][..]
http://elinux.org/Rpi_kernel_compilation#compiling
compiling
Next you have to configure the kernel:
cp arch/arm/configs/bcmrpi_cutdown_defconfig .config make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- oldconfigThen building the kernel:
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -kYou can use the "-j" flag to improve compilation time. If you have a dual core machine you can use "-j 3", for a quad core machine you can use "-j 6", and so on.