Did anyone succedd to install FCOS on Raspberry PI 4?
I have spare 8GB model I would use to run OKD4 cluster running FCOS to provide home lab for testing purposes.
I found this link:
Seems to be complicated and first I have to install fedora workstation/serwer on raspberry.
(found Rpi 4 was not supported in late 2019, but what is now?)
Maybe if anyone did it before will be kind to share image?
I was thinking maybe I might try building a Raspberry Pi 4 cluster if FCOS can be made to run on it. I have no experience with running a cluster before and this could be an inexpensive way learn about running a cluster with Kubernetes. Keep us posted on your progress.
Just as an alternative: Fedora Iot also provides many advantages of CoreOS as far as I see, at least it also used ostree for updates, Ignition and „automated storage decryption with Clevis” according to that page.
The difference is that CoreOS is designed to function as a node in a Kubernetes cluster, and IoT was targeted at single node applications. For example you build your own robot and use a RasPi as your controller for it. What you could do is install Fedora IoT on it, then deploy your code for your robot as a container to it. If an update this provides all the benefits of atomic updates to both the OS level as well as your code since you can always roll back your image.
This is very useful in edge deployment like a kiosk, remote station(weather?), or a drone. Canonical has their own image, Ubuntu Core, which essentially serves the same purpose. The difference being that Ubuntu uses Snaps and Fedora IoT uses OCI compliant images.
As for Zezere, Fedora IoT doesn’t use ignition files. Instead it contacts the Zezere server (you can deploy your own too), and once it contacts it you can them claim your device and push your ssh key to it. Once the key is pushed you can then log in to your IoT instance and configure it.
Personally I use IoT on a RasPi 3. I then have an Ansible Playbook that will configure the network interface, set the hostname, and then deploy Pi-Hole as a container to it. It’s great because I have the auto-update feature in podman keep the container updated, and it’s easy enough to isolate my volumes and back it up meanwhile the OS stays clean.
Clarification: While being useful as a node in a Kubernetes cluster is a target use case of Fedora CoreOS, so is running a single container on a standalone node (no cluster required). I use it like this today on my Rpi4.
We’ll soon have official aarch64 images and hopefully write a tutorial for getting FCOS installed on Rpi4.
I haven’t used zezere but according to the docs it’s
Zezere is a provisioning server for Fedora IoT. It can be used for deploying Fedora IoT to devices without needing a physical console.*
Ignition isn’t a provisioning server, but it does run locally on the node and take care of first boot provisioning. You can host your ignition config on a remote location, but you don’t need to. It’s just a simple JSON file.
Tried to get this working on a rpi4.
Steps I did was:
sudo podman run --pull=always --privileged --rm -v /dev:/dev -v /run/udev:/run/udev -v .:/data -w /data quay.io/coreos/coreos-installer:release install /dev/sdb -i fcos.ign -u https://builds.coreos.fedoraproject.org/prod/streams/testing-devel/builds/34.20210904.20.1/aarch64/fedora-coreos-34.20210904.20.1-metal.aarch64.raw.xz --architecture aarch64
sudo mount /dev/sdb2 efi/
sudo cp -rf RPi4_UEFI_Firmware_v1.27/* efi/ # I used UEFI 1.27 as I read 1.28-1.30 had issues
sudo umount /dev/sdb*
On first boot I disabled the 3GB mem limit.
I see the coreos grub menu, after that there is only a black screen with “-”.
After a while it starts booting but complaining about the “dev-by-label” service not starting.
Logs are filled with messages as in screenshot (I’ll try to get the log)
Yup, I installed everything, incl uefi on USB and everything boots just fine. So right now running with sdcard.
Previously these rpi4 booted and ran archlinux from the sdcard, so they should be working fine.
Hi! Have you made any progress on this? I will get my rpi4 soon and i plan to test a Kubernetes cluster with fedora coreos.
Does somebody know if it would also run on a rpi 3 model B? I tried it with my rpi3 and installed it the same way as perosb, only used the rpi3 uefi firmware instead. If i boot it with the USB stick i get the following message after selecting fedora coreos:
EFI stub: Booting Linux Kernel…
EFI stub: ERROR: FIRMWARE BUG: kernel image not aligned on 64k boundary
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services and installing virtual address map…
I enabled the 64bit mode via arm_64bit=1 in /boot/config.txt with the raspberry OS.
Linux raspberrypi 5.10.60-v8+ #1449 SMP PREEMPT Wed Aug 25 15:01:33 BST 2021 aarch64 GNU/Linux
FYI, I managed to successfully netboot my Raspberry Pi 4Bs with the latest FCOS version using piPXE. You can find a short documentation on GitHub. GPIO is currently not working but it should be enough to install OKD.