- About this Howto
- Kickstart files
- Pre-built images
- Raspberry Pi specific RPM Fusion RPI Repositories on Fedora
- Updating Raspberry Pi 4 bootloader EEPROM
- Known issues
- Bug Report
About this Howto
This documentation is about using Raspberry Pi Foundation "downstream kernel" and components on a Fedora (or CentOS) userspace. As with Fedora, this process is compatible with Raspberry Pi 2 and later model (No original Raspberry Pi or Pi Zero support is planned). Unless using a Raspberry Pi 4 with 4G of RAM. It's recommended to use the 32bit version over the 64bit (especially for the Workstation flavor). For graphics usage, it's really recommended to have a Raspberry Pi 4 which default to the vc4/v3d driver.
Kickstart files are located at https://pagure.io/fork/dwrobel/fedora-kickstarts repository and are based on the original Fedora 34 files with the following modifications:
The modifications in livecd-tools and pykickstart allows to generate image with selected downstream kernel (despite it has lower version) over the upstream one. On a system, all aforementioned repositories are installed with priority=50 option to instruct 'dnf' to choose packages from this repository, rather then Fedora default.
The location of pre-generated images for Fedora 34 can be found below:
Raspberry Pi specific RPM Fusion RPI Repositories on Fedora
sudo dnf config-manager --add-repo=https://mirrors.rpmfusion.org/free/fedora/rpi/rpmfusion-rpi.repo sudo dnf install raspberrypi-vc-utils raspberrypi-vc-libs
Updating Raspberry Pi 4 bootloader EEPROM
Follow the gist available at: https://gist.github.com/dwrobel/266ad5d4e59b05ea26d8bb6725118578.
Booting from external USB drive
Write the image to the external drive, then mount the filesystem and change root=/dev/mmcblk0p2 to root=/dev/sda2 in the /boot/efi/cmdline.txt.
After booting the system, please consider to resize the filesystem. The following example assumes system booted from internal SD card.
sudo growpart -u on /dev/mmcblk0 2 sudo btrfs filesystem resize max /
Sysctl (RPi 3 only)
# set vm.min_free_kbytes for rpi cat>/etc/sysctl.d/98-rpi.conf<<EOF vm.min_free_kbytes = 16384 EOF
uboot-tools prevents clean update of kernel packages
The "/usr/lib/kernel/install.d/10-devicetree.install" script from uboot-tools package prevents older kernel packages from being removed cleanly during update:
Erasing : kernel-core-5.10.35-1.rpi.fc33.armv7hl warning: file /lib/modules/5.10.35-1.rpi.fc33.armv7hl/modules.builtin.alias.bin: remove failed: No such file or directory
To mitigate it run the following command:
$ echo "FIRMWAREDT=True" | sudo tee /etc/u-boot.conf
CMA memory allocation issue with graphics on the Pi3 using vc4
- The best is to disable vc4 (will be unaccelerated).
Downstream bugs on the kernel can be reported to https://github.com/raspberrypi/linux/