jmontleon/rpi5

Project ID: 125828

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

  1. You need to find a way to install the kernel prior to attempting to boot on a Raspberry Pi 5.
  2. 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 time brcmfmac-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 40 aarch64 [modified] (89)* Fedora 40 (16 downloads)

* Total number of downloaded packages.