Talk:Raspberry Pi/Mainline Kernel

Mounting root with root=UUID= needs an intrd. You can load an initrd but that is not in the example code.

root=PARTUUID= works with no initrd. Its even ok with MSDOS partition tables, which you are compelled to use on the SDcard. It gets a bit iffy for root on partitions >=5. Think what happens when you delete a logical partition. All the remaining logical partitions above the deleted partition get renumbered.

I would go with root=/dev/mmc0p2 or root=PARTUUID=. rootwait is useful for users that have slow cards or root on rotating rust on USB. The Pi may try to mount root before root is ready, then the kernel panics.

--NeddySeagoon (talk) 21:44, 22 January 2017 (UTC)

Configuring bootloader
bootcode.bin, which runs on the VC4, reads and loads everything else before the ARM CPU is allowed of of reset. Since late 2015, its been changed to have some useful defaults that depend on the sort of Pi it finds itself on.

This means that its possible to have a single SD card that will boot on any Pi. The kernel name defaults are

kernel.img - loaded by default on the original armv6 Pi.

kernel7.img - loaded by default on the 32 bit armv7a Pi 2.

kernel8.img - loaded by default on the 64 bit capable armv8a Pi3.

If this is present, the CPU is set into 64 bit mode too. If kernel8.img is not present on the 64 bit capable Pi 3, the fallback is to boot kernel7.img and treat it a a normal 32 bit system.

Thus using the default kernel naming, an SD card that contains kernel8.img, kernel7.img, and kernel.img will boot on any Pi. It requires a 32 bit userland built for the original armv6 Pi.

bootcode.bin also chooses the correct .dtb to match the kernel.

Is it worth workisg the above into the page? That section is correct as it stands, so maybe not.

--NeddySeagoon (talk) 15:19, 14 January 2018 (UTC)