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?
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.
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.
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.