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 3 (64 bit)
TODO

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.

Raspberry Pi 3 (62 bit)
TODO

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
Modify the root= device as necessary and set any other desired cmdline args here. I recommend UUIDs but a plain /dev value is provided for illustrative purposes.

Raspberry Pi 3 (32 bit)
Modify the root= device as necessary and set any other desired cmdline args here. I recommend UUIDs but a plain /dev value is provided for illustrative purposes.

Raspberry Pi 3 (64 bit)
TODO

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