Edit Info Other
Login

RaspberryPi"

Differences between revisions 8 and 25 (spanning 17 versions)
Revision 8 as of 2021-04-11 19:34:59
Size: 2051
Comment:
Revision 25 as of 2024-04-24 07:23:36
Size: 4258
Editor: DamianWrobel
Comment: Add links to Fedora 40 pre-built images
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## Please edit system and help pages ONLY in the master wiki!
## For more information, please see MoinMoin:MoinDev/Translation.
Line 2: Line 4:
##master-page:Unknown-Page
##master-date:Unknown-Date
#acl DamianWrobel:read,write,revert AdminGroup:read,write,revert All:read
#format wiki
#language en
Line 4: Line 11:
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 8Gio of RAM. It's recommended to use the 32bit version over the 64bit.
For graphics usage, it's really recommended to have a Raspberry Pi 4 which default to the vc4/v3d driver.
This documentation is about using Raspberry Pi Foundation [[https://github.com/raspberrypi/linux|downstream kernel]] and components from Fedora userspace.
The Workstation flavor is recommended for the Raspberry Pi 4 B/400 with >=4GB RAM platform. The Server flavor is usable on starting from Raspberry Pi 3 B/B+.
Line 9: Line 14:
It's possible to use a Fedora official image as a base, then install additional repositories and adjust configuration. Or use the dedicated images. == Kickstart files ==
Kickstart files are located at [[https://pagure.io/fork/dwrobel/fedora-kickstarts||fedora-kickstarts]] repository and are based on the original
Fedora 39 files with the following modifications:
 || component || Repositories || comment ||
 || kernel || [[https://github.com/dwrobel/kernel|spec]] / [[https://copr.fedorainfracloud.org/coprs/dwrobel/kernel-rpi/|copr]] || Downstream kernel ||
 || bcm434xx-firmware || [[https://github.com/dwrobel/bcm434xx-firmware|spec]] / [[https://copr.fedorainfracloud.org/coprs/dwrobel/bcm434xx-firmware-rpi/|copr]] || ||
 || bcm283x-firmware || [[https://github.com/dwrobel/bcm283x-firmware|spec]] / [[https://copr.fedorainfracloud.org/coprs/dwrobel/bcm283x-firmware-rpi/|copr]] || ||
 || pykickstart || [[https://github.com/pykickstart/pykickstart/pull/275|PR]] / [[https://copr.fedorainfracloud.org/coprs/dwrobel/pykickstart/|copr]] || Adds --priority=<priority> ||
 || livecd-tools || [[https://github.com/livecd-tools/livecd-tools/pull/134|PR]] / [[https://copr.fedorainfracloud.org/coprs/dwrobel/livecd-tools/|copr]] || Adds support for repository 'priority' configuration ||
Line 11: Line 24:
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.
Line 12: Line 26:
== Using downstream kernel on Fedora ==
 * For Fedora 32+ and CentOS 8: (available as aarch64 only)
{{{
sudo dnf copr enable dwrobel/kernel-rpi
sudo dnf install kernel #you might need to mention the extact kernel to use
sudo dnf install kernel-rpi4 # for the raspberry-pi 4
}}}
== Pre-built images (f40) ==
The location of pre-generated images for Fedora 38 can be found below:
|| Flavor || aarch64 ||
|| Server || [[https://ufile.io/br3bfol9|image]] / [[https://ufile.io/5tvdtl30|checksum]] ||
|| Workstation || [[https://ufile.io/dbt4yr3c|image]] / [[https://ufile.io/mr9cxxto|checksum]] ||
Line 20: Line 32:
== Using RPM Fusion RPI Repositories on Fedora ==
 * For Fedora 32 and later: (available as armv7hl and aarch64).
{{{
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
}}}
== Pre-built images (f39) ==
The location of pre-generated images for Fedora 39 can be found below:
|| Flavor || aarch64 ||
|| Server || [[https://ufile.io/mh0lvd91|image]] / [[https://ufile.io/9la7g6ga|checksum]] ||
|| Workstation || [[https://ufile.io/tg6t6u9w|image]] / [[https://ufile.io/618l7mot|checksum]] ||
Line 27: Line 38:
== Updating Raspberry Pi 4 bootloader EEPROM ==
Line 28: Line 40:
== Using dedicated RPI Images ==
 * https://bintray.com/dwrobel/fda-images
 * https://pagure.io/fork/dwrobel/fedora-kickstarts


== Updating the eeprom on RPI4 ==
{{{
sudo ./rpi-eeprom-update
}}}
Follow the gist available at: [[https://gist.github.com/dwrobel/266ad5d4e59b05ea26d8bb6725118578|https://gist.github.com/dwrobel/266ad5d4e59b05ea26d8bb6725118578]].
Line 40: Line 44:
=== Sysctl ===
# set vm.min_free_kbytes for rpi
cat>/etc/sysctl.d/98-rpi.conf<<EOF
vm.min_free_kbytes = 16384
EOF
=== 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'''.
Line 46: Line 47:
== Known issues ==
 * There is a CMA memory allocation issue with graphics on the Pi3 using vc4, best is to disable vc4 (will be un-accelerated).
Note: On the Raspberry Pi 4, you may need to adjust [[https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#BOOT_ORDER|BOOT_ORDER=]] parameter in order be able to boot from the external drive.
Line 49: Line 49:
=== Resizing filesystem ===
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 /
}}}
Line 51: Line 58:
 * You can report to our bugzilla, see [[ReportingBugs]], please mention using downstream kernel/components.

About this Howto

This documentation is about using Raspberry Pi Foundation downstream kernel and components from Fedora userspace. The Workstation flavor is recommended for the Raspberry Pi 4 B/400 with >=4GB RAM platform. The Server flavor is usable on starting from Raspberry Pi 3 B/B+.

Kickstart files

Kickstart files are located at https://pagure.io/fork/dwrobel/fedora-kickstarts repository and are based on the original Fedora 39 files with the following modifications:

  • component

    Repositories

    comment

    kernel

    spec / copr

    Downstream kernel

    bcm434xx-firmware

    spec / copr

    bcm283x-firmware

    spec / copr

    pykickstart

    PR / copr

    Adds --priority=<priority>

    livecd-tools

    PR / copr

    Adds support for repository 'priority' configuration

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.

Pre-built images (f40)

The location of pre-generated images for Fedora 38 can be found below:

Flavor

aarch64

Server

image / checksum

Workstation

image / checksum

Pre-built images (f39)

The location of pre-generated images for Fedora 39 can be found below:

Flavor

aarch64

Server

image / checksum

Workstation

image / checksum

Updating Raspberry Pi 4 bootloader EEPROM

Follow the gist available at: https://gist.github.com/dwrobel/266ad5d4e59b05ea26d8bb6725118578.

Configurations

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.

Note: On the Raspberry Pi 4, you may need to adjust BOOT_ORDER= parameter in order be able to boot from the external drive.

Resizing filesystem

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 /

Bug Report


CategoryHowto

Howto/RaspberryPi (last edited 2024-04-24 07:23:36 by DamianWrobel)