Fedora33 on raspberry pi 4: update problem

Hi folks, I’m new to raspberry and since I prefere fedora I installed it on a pi 4 following this guide: Fedora on Raspberry Pi :: Fedora Docs

I used “Fedora-Server-33-1.3.aarch64.raw.xz” from the official download page since those images suggested in the guide above are version 33-1.2 (see here) and didn’t boot, maybe the p4 is not yet supported by this version.

So I installed v33-1.3 using this commandline:
arm-image-installer --image Fedora-Server-33-1.3.aarch64.raw.xz --target=rpi4 --media=/dev/sdg --selinux=ON --norootpass --resizefs

This actualliy did boot and seems to be full-functional.

Problem:
Whenever I update (with “dnf update”) after the next reboot
→ WIFI-Interface completele disappears
→ USB also disappears, so no working Keyboard anymore

What can I do?

1 Like

I found the f33 base (33-1,3) works on a pi4. The kernel you get from a dnf update seems to have a video driver that does not work. Also I found the wireless hardware disappeared when I did a dnf update also. SO, stick with the base and avoid a dnf update (for now).

Welcome to the forum :slight_smile:

USB is working fine with all kernels alike here, so it might be related to your hardware.

A quick fix would be to simply exclude the kernel from being updated for now. Simply add “exclude=kernel*” to /etc/dnf/dnf.conf.

[main]
gpgcheck=1
installonly_limit=3
...
exclude=kernel*

The vc4 driver introduced in the 5.10 kernel series does not fully support the rpi4 (yet). Video works fine, but the vc4_hdmi sound driver still seems to be broken on the rpi4.
You can simply blacklist the vc4 to get working sound via snd_bcm2835, but you will be set back to the (working) fb driver for video. Hwaccel for video is (not yet) implemented anyway :wink:

You can test it by simply adding module_blacklist=vc4 to the kernel cmdline.
To test this just for the current kernel, add the entry to the appropriate config file found in /boot/loader/entries/.
To make it permanemt for all add the parameter to /etc/default/grub.

GRUB_CMDLINE_LINUX="module_blacklist=vc4 ... rhgb quiet"

followed by

grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Alternative you could add an blacklist enty to /etc/modules-load.d/ and regenerate the initrd.

Regarding the wifi issue I didn’t bother investigating yet, since I don’t use it :grin:

2 Likes

Thank you for the info. On my second generation of the sd card I did do a dnf update --exclude=kernel* and that fixed the video driver issue. My system lost video under a 5.10 kernel. I just stayed with a 5.8 kernel. A lot other software was updated (about 710 items). One of those 710 made my wifi disappear. On my third generation of the sd card I just stayed with the 33-1.3 base. I’ve had no problems so far with that. I’d be curious, when you have time, to see what the wifi issue is. Thanks again.

You could try excluding linux-firmware as well, since it is closely related to the kernel and includes the firmware files for the brcmfmac wifi chip of the rpi4.

1 Like

Hi, thank you for the replies. I tried to exclude the kernel from /etc/dnf/dnf.conf by adding the line “exclude=kernel*” and updated, without luck. This alone didn’t do the trick. One may really need to exclude the inux-firmware as well, but I didn’t try this yet.

In another topic here I found a Minimal Install Image v33-1.3 that also works:
https://alt.fedoraproject.org/alt/
Is a bit hard to find, so one may find this link handy. I now flashed this one.
Bluetooth doesn’t seem to work, but I dont need it.

@jdeckerus
Yes, not updateing might be better for now, however it is save to update at least a few packages, like this:
dnf upgrade sudo* openssh* firewall* selinux* openssl* nftables* iptables*

Some sudo versions have a nasty vulnerability, see https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3156

So “dnf list installed sudo” should return at least 1.9.5p2 on Fedora 33.

One tipp for those who had the same needs with the Minimal image:
dnf install bash-completion # if you wanna have a working tab key completion (install, logout, login, works)

Set your locale in case your keyboard layout does not fit:
localectl # Show your settings
dnf search glibc-langpack # find your language pack
dnf install "your language pack" # install your language
dnf install libxkbcommon-x11 # install X11-Layouts, not certain if this is needed
localectl set-x11-keymap "language short" # sets your language

example:
localectl set-x11-keymap de # Sets your keymaps and system language to german

Edit
Remember to set a keyboard layout neutral password in advance.

That worked. For a base (33-1.3) system I did a dnf update --exclude=kernel* --exclude=linux-firmware*. It updated 601 packages (on feb 23) I rebooted and everything worked, video, video-sound, usb, wifi. Thank You

1 Like

Yes, I can also confim that exluding both kernel* and linux-firmware* is a valid workaround at the moment.

echo exclude = kernel* linux-firmware* >> /etc/dnf/dnf.conf

For the lazy ones, like me.