Installing Fedora on RockPro64

Continuing tests of distribution installers. This time I installed Fedora ‘rawhide’ from netinst iso (2020.06.20). Fetched, wrote to USB pen drive and booted. Due to U-Boot being present in on-board SPI flash I did not had to mess with installation media.

Issues

There were some issues:

  1. Panfrost failing to initialize
  2. U-Boot unable to load grub efi

Panfrost initialization failure

Panfrost kernel module needs some devfreq governor. Kernel has four of them, Fedora enables one. There are no dependencies between those modules which ends with the same error as with Debian:

panfrost ff9a0000.gpu: devfreq_add_device: Unable to find governor for the device
panfrost ff9a0000.gpu: [drm:panfrost_devfreq_init [panfrost]] *ERROR* Couldn't initialize GPU devfreq
panfrost ff9a0000.gpu: Fatal error during devfreq init
panfrost: probe of ff9a0000.gpu failed with error -22

Solution was the same as before — boot without ‘panfrost’ module. I interrupted grub from starting and added rd.driver.blacklist=panfrost to “linux” command. This allowed me to boot into Fedora installer and system installation went smoothly.

First boot on installed system shown working Panfrost driver:

panfrost ff9a0000.gpu: clock rate = 500000000
panfrost ff9a0000.gpu: mali-t860 id 0x860 major 0x2 minor 0x0 status 0x0
panfrost ff9a0000.gpu: features: 00000000,100e77bf, issues: 00000000,24040400
panfrost ff9a0000.gpu: Features: L2:0x07120206 Shader:0x00000000 Tiler:0x00000809 Mem:0x1 MMU:0x00002830 AS:0xff JS:0x7
panfrost ff9a0000.gpu: shader_present=0xf l2_present=0x1
[drm] Initialized panfrost 1.1.0 20180908 for ff9a0000.gpu on minor 0

U-Boot can not load Grub EFI

After reboot U-Boot was not able to load Grub from EFI System Partition:

Device 0: Vendor: ADATA    Rev: 1.00 Prod: USB Flash Drive 
            Type: Removable Hard Disk
            Capacity: 59200.0 MB = 57.8 GB (121241600 x 512)
... is now current device
Scanning usb 0:1...
Found EFI removable media binary efi/boot/bootaa64.efi
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Card did not respond to voltage select!
Scanning disk mmc@fe310000.blk...
Disk mmc@fe310000.blk not ready
Card did not respond to voltage select!
Scanning disk mmc@fe320000.blk...
Disk mmc@fe320000.blk not ready
Card did not respond to voltage select!
Scanning disk sdhci@fe330000.blk...
Disk sdhci@fe330000.blk not ready
Scanning disk usb_mass_storage.lun0...
** Unrecognized filesystem type **
** Unrecognized filesystem type **
Found 4 disks
BootOrder not defined
EFI boot manager: Cannot load any image
858216 bytes read in 25 ms (32.7 MiB/s)
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
System BootOrder not found.  Initializing defaults.
Could not read \EFI\: Invalid Parameter
Error: could not find boot options: Invalid Parameter
start_image() returned Invalid Parameter
## Application terminated, r = 2
EFI LOAD FAILED: continuing...

It was already reported as ‘shim’ bug 1733817.

How to work around it?

  1. connect your Fedora storage into other computer
  2. copy “/efi/fedora/grubaa64.efi” to “/efi/boot/bootaa64.efi”

This way U-Boot will get grub efi binary to load in default location.

Final effect

Board boots directly to graphical login manager and then to GNOME3 session. Extreme Tux Racer and Xonotic worked out of the box. Speed-wise it feels slower than KDE Plasma session on Debian.

aarch64 sbc fedora rockpro64