Raspberry Pi/Mainline Kernel

This guide is intended as a supplement to Install Guide and an alternative to Raspberry Pi Kernel.

Fetch sources
For the rest of this example, I will be assuming vanilla-sources-4.9.5.

Raspberry Pi 2
No patching necessary.

Raspberry Pi 3 (32 bit)
Symlink the dts from arm64 to arm

Patch the makefile as necessary

Raspberry Pi 2
Note: multi_v7_defconfig will enable more than you need, but it is currently the most appropriate included defconfig to choose from.

Raspberry Pi 3 (32 bit)
Note: multi_v7_defconfig will enable more than you need, but it is currently the most appropriate included defconfig to choose from.

Configuring bootloader
Contrary to popular belief, you don't need u-boot to boot the mainline kernel, just populate the appropriate required files:

Raspberry Pi 2
You can specify the root as a device or via PARTUUID, just ensure it's accurate for your system.

Raspberry Pi 3 (32 bit)
You can specify the root as a device or via PARTUUID, just ensure it's accurate for your system.

Installing firmware
Finally, until rpi-open-firmware is ready, you'll need to copy the following binary blobs from raspberrypi-firmware to your /boot partition.


 * bootcode.bin
 * start.elf
 * fixup_*.dat
 * start_*.bin