Description
Kernel capable of booting on the Raspberry Pi 5
This is using patches created from commits at https://github.com/6by9/linux. Primarily the mainline_2712_rp1_rc3
and mainline_2712_mmc1
branches. There are also some changes to the kernel config to enable Raspberry Pi 5 specific options.
Installation Instructions
- You need to find a way to install the kernel prior to attempting to boot on a Raspberry Pi 5.
- You may also want to update
brcmfmac-firmware
if you need wireless, otherwise you will have to update via ethernet before wireless will work. As of this timebrcmfmac-firmware-20240410-1.fc40.noarch
is in updates-testing, but it should make its way to updates fairly soon.
The 'tested' method I used was to mount the SD card on a Raspberry Pi 4 using a USB SD Card adapter. Then within a chroot I ran
dnf copr enable jmontleon/rpi5
and dnf -y update kernel
You can probably also boot the image on an earlier Raspberry Pi, install the updated kernel, shutdown, transfer the SD card to the Raspberry Pi 5, and boot.
If you have no other arm system available you may be able to use podman
and qemu-user-static
to launch a container to do the work.
A basic example of running a container using a different architecture is podman run -it --entrypoint /bin/bash --arch arm64 quay.io/fedora/fedora:40
. You will also either need to mount the disk partitions and add them to the container as a volume already or add the devices to mount inside the container in order to do the work and then use chroot
or dnf --installroot ...
to update the image.
To do this with a chroot:
- Start a container if necessary
sudo podman run --privileged -it --entrypoint /bin/bash --arch arm64 quay.io/fedora/fedora:40
- Run through the process
mkdir /mnt/chroot
dnf -y install util-linux-core
mount /dev/sdX3 /mnt/chroot \
&& mount /dev/sdX2 /mnt/chroot/boot \
&& mount /dev/sdX1 /mnt/chroot/boot/efi \
&& mount -o bind /proc /mnt/chroot/proc \
&& mount -o bind /sys /mnt/chroot/sys \
&& mount -o bind /dev /mnt/chroot/dev
chroot /mnt/chroot
mkdir /run/systemd/resolve/
echo "nameserver 1.1.1.1" > /run/systemd/resolve/stub-resolv.conf
dnf -y copr enable jmontleon/rpi5
dnf -y update kernel
dnf -y update brcmfmac-firmware --enablerepo=updates-testing
rm /run/systemd/resolve/stub-resolv.conf
rmdir /run/systemd/resolve
exit
umount /mnt/chroot/dev \
&& umount /mnt/chroot/sys \
&& umount /mnt/chroot/proc \
&& umount /mnt/chroot/boot/efi \
&& umount /mnt/chroot/boot \
&& umount /mnt/chroot
rmdir /mnt/chroot
Active Releases
The following unofficial repositories are provided as-is by owner of this project. Contact the owner directly for bugs or issues (IE: not bugzilla).
Release | Architectures | Repo Download |
---|---|---|
Fedora 41 | aarch64 [modified] (718)* | Fedora 41 (8 downloads) |
* Total number of downloaded packages.