Fedora CoreOS, Device Tree and AARCH64?

I have been looking for information on FCOS and kernel device trees - specifically for CoreOS running on RPi4. Fedora minimal on an RPi4 places the upstream device tree files in /boot/dtb-xxx where xxx references a specific kernel version. Are device trees supported in FCOS? I have in mind the upstream device tree patch that enables the RPi4 POE fan to work. This device tree patch and the fan has been useful with my home lab RPi4 cluster to help keep the boards cool. Is there any information available?

thanks

1 Like

I added some documentation for running FCOS on the Raspberry Pi 4 here. It doesn’t quite touch on adding various HATs but basically if you follow the U-Boot instructions you can then edit the config.txt file in there to select another device tree to load.

Maybe the one you’re looking for is rpi-poe.dtbo? I think you would need to change [pi4] section in config.txt to have dtoverlay=rpi-poe IIUC.

1 Like

Thanks Dusty. I am very glad to see the RPi 4 documentation. I have a small cluster of RPi4s at home with Fedora minimal installed and running a generic K8s cluster. I have been experimenting on and off with Fedora CoreOS but struggling to get device trees to work with the UEFI firmware. I also had the same device tree problem with Fedora minimal and the UEFI firmware. Part of the problem was that device tree support was broken for a while in the UEFI stack and part of the problem was me missing the System Table setting in the UEFI menu since I was running everything headless.

I use the POE Hat on my RPi4s with the kernel module driver that showed up in the 5.13 kernel (pwm_raspberrypi_poe). This driver does not yet have a device tree overlay, so the upstream device tree for RPi4 needs to be patched (see pi 4 - How can I enable the fan on the official POE HAT under fedora? - Raspberry Pi Stack Exchange for a write up on how I approached this).

With Fedora minimal, i can use uboot or UEFI to boot and load the patched upstream device tree so the POE fans on my cluster hum away nicely. I will use your information to try and get the POE Hat fan working well with CoreOS. The rpi-poe overlay you mention requires a kernel module that exists in Raspian OS but is not in the mainline kernel Fedora uses.

More to come. I really appreciate this write up. It will be very helpful. If I am successful I will provide some updates. I can point out that with the UEFI firmware, once the 3 GB limit is disabled in the menu, I can copy RPI_EFI.fd (when the settings are stored) to the other RPi4 in the cluster and by pass having to attach a monitor to each device to make the change.