How to install Official Fedora RAW Images on Libre Computer Boards with Linux

Libre Computer boards support Fedora RAW images. For Fedora 38 and below, the older kernel is not compatible with Amlogic GXL family Ethernet device-tree changes so a few modifications are necessary.

  • For BIOS/SystemReady boards, Fedora should be supported out of the box. Just burn the extracted Raw image and flash it directly to a storage device.
  • For Le Potato, Tritium, and Renegade, Fedora requires a bootloader to be implanted into the image before it will boot.

Tested Raw Variants

  1. Fedora Workstation ARM® aarch64 Raw
  2. Fedora Server ARM® aarch64 Raw
  3. Fedora CoreOS Bare Metal Raw
  4. Fedora Minimal Fedora Minimal
    Other variants may work with the same instructions but they have not been tested.

Fedora 39 Modifications for Le Potato / Renegade / Tritium

  1. Bootloader via libretech-flash-tool

Fedora 39 Modifications for other boards

  1. None Necessary

Fedora 38 Modifications for AML-S905X-CC Le Potato / ROC-RK3328-CC Renegade / ALL-H3-CC Tritium H5

  1. Bootloader via libretech-flash-tool

Fedora 38 for AML-S805X-AC La Frite / AML-S905X-CC Le Potato / AML-S905X-CC-V2 Sweet Potato / AML-S905D-PC Tarteflette

Due to older kernel version, the builtin device tree is not compatible with Linux < 6.4 Ethernet MDIO driver. We recommend using Fedora 39 for these boards.

Bootloader via libretech-flash-tool

Please see Libre Computer Flash Tool

2 Likes

I am not getting CoreOS running on my Le Potato. I am trying the following commands:

  1. Start with a fresh SD Card:
    sudo dd if=/dev/zero of=/dev/sda bs=1M count=1

  2. Use libretech-flash-tool for the bootloader:
    sudo ./lft.sh bl-flash aml-s905x-cc sda

  3. Flash CoreOS Raw image to the SD Card:
    xzcat fedora-coreos-39.20231101.3.0-metal.aarch64.raw.xz | sudo dd status=progress bs=4M of=/dev/sda

  4. Resize partition size with parted, to use whole SD Card

When starting my Potato with the SD Card the green light never turns on. What am I doing wrong? Any help would be appreciated.

Did you try swapping step 2 and 3?
Pretty sure you are overwriting the boot loader when you flash the fedora image.

Thanks for the tip.

I have tried it, but the only result I got was a corrupt primary GPT table. After restoring the previous GPT table it still doesn’t boot. Does restoring the GPT table also restore the previous bootloader?

You need to use MBR for Le Potato. The bootloader conflicts with the GPT tables.

The other option is to split the bootloader and the image. You can use SD card or eMMC for the bootloader and any other device for the image (USB/SD/eMMC).

1 Like

Thanks, that was the crucial piece of information. The CoreOS images use GPT. I ended up using Fedora IoT (those images use MBR), and it worked like a charm. Here are the steps I took to install it on Le Potato, in case it can help someone else:

  1. Download the current Fedora IoT Raw image.
  2. sudo arm-image-installer --image=[path-to-raw.xz] --media=[path-to-sd-card] --addkey=[path-to-public-ssh-key] --resizefs --target=rpi3
  3. sudo ./lft.sh bl-flash aml-s905x-cc [device-name]
  4. Put the SD Card into Le Potato and ssh into the root account.

Not sure about this vs regular dd. We always shy away from magic userspace tools.

We hope to have our own infrastructure for Fedora up in the next quarter so we can deploy our kernel as it has many changes from vanilla upstream for patches that cannot go directly upstream.

There isn’t that much magic in the arm-image-installer-script. It uses dd to write to the SD card, and I found it easy enough to understand to trust it. Though I understand why you prefer standard tooling.

I found it very practical to not have to resize the filesystem, or add my public ssh-key to the authorized_keys of root manually. It would be great if that could also be part of the future infrastructure.

We have libretech-slipstream. It does not support official Fedora images at the moment but we will add support in the future.

1 Like