FCOS frustrations

I have been using Silverblue and Sway-Atomic for a while and love the atomic paradigm so much that I wanted to begin tinkering with Fedora CoreOS to understand it better in hopes that I can use it on future server build for my homelab. My problem is that for the life of me, I can’t get the Ignition file I create to be accepted. I keep getting a message saying “expected value at line 7 column 1”. I have given up trying to figure out Butane/Ignition as it’s way too complicated for my simple brain. :laughing:

Are there any plans to make setting up FCOS via a traditional ISO an option for users?

2 Likes

Same. I bought a mini PC and was really excited to install Fedora CoreOS on it. Installed it and couldn’t sign in. Turns out I was supposed to provide an ignition file to at least set a password for the default user.

Ended up just installing Fedora Server on it. Would love if they made it as simple as that.

2 Likes

Agreed. The folks at openSUSE enable you to do a simple first-boot setup via on-screen menu options on their MicroOS and Leap Micro editions and I wish Fedora CoreOS worked in a similar fashion. They even have an Ignition Config webpage if you want to go that route.

2 Likes

If you provide your Butane configurations, we can try to reproduce the errors and suggest a fix.

Another option would be to try The solid foundation for IoT ecosystems | The Fedora Project, which I think should be installable via the traditional Fedora installer.

1 Like

If you have a butane config that you are using to generate an Ignition config then the butane tool should validate that the config it generates is valid.

If you are generating your own Ignition JSON yourself there is an ignition-validate tool you can use to do the validation too, which might help find the source of the error.

3 Likes

When I ran ignition-validate, I didn’t get any sort of error message. I have pasted a copy of my butane file (with the SSH redacted) below:

variant: fcos
version: 1.6.0
passwd:
  users:
    - name: core
      ssh_authorized_keys:
        - ssh-ed25519 AAAAC....
storage:
  files:
    - path: /etc/hostname
      mode: 0644
      contents:
        inline: |
          st-palo-alto
systemd:
  units:
    - name: systemd-hostnamed.service
      enabled: true

You are saying you run this through butane and generate an Ignition json file. Then when you provide that Ignition json file to the machine it fails to boot?

Can you show the output when you run butane to generate the json file? What version of butane are you using?

Are you booting the latest Fedora CoreOS boot media from Fedora CoreOS | The Fedora Project ?

I’m using version 0.23.0 of Butane. There is no output in the terminal when I run Butane to create the Ignition file. An Ignitin file is just created. When I’m at the point of installation and point to my Ignition file (hosted on Github), I get the following error message:

Error: parsing specified Ignition config

Caused by:
expected value at line 7 column 1

Are you using the raw URL from GitHub? Make sure the URL you are using just provides JSON and not HTML.

I’m sorry, but I don’t know the answer to that. I’m literally just using the URL pointing to the file— fedora-coreos-config/st-palo-alto.ign at main · sohrob/fedora-coreos-config · GitHub.

I’ll probably just end up going with openSUSE Leap Micro for my server setup and just Fedora on the desktop. Thank you for your help anyway!

When I use the JSON file you provided and change only the SSH key, the system boots and I can log into the virtual machine. I think the problem shouldn’t be in the Ignition configuration file.

  • https://github.com/sohrob/fedora-coreos-config/blob/main/st-palo-alto.ign
    • is a URL to a nice web UI with clicky buttons and whatnot
    • if you click the Raw button you’ll get what you want
  • which is https://raw.githubusercontent.com/sohrob/fedora-coreos-config/refs/heads/main/st-palo-alto.ign
    • pure JSON
3 Likes

That worked! Wow, I never realized that was the issue this whole time. THANK YOU! This is the first time I’ve gotten it to successfully install and I’d be embarrassed to tell you how many hours I lost trying to get it to work previously.

3 Likes

Glad you found success!

1 Like

I tried this option and realized that it is still prerelease. (Fedora-IoT-ostree-42-20250414.0.x86_64.iso) Will it be F42 Stable soon too?

The installer not recognized it automatically, i guess jus because of being pre release, right?

Good you not gave up :party:

A brain is everything else than simple :wink: So, frustration I also hav trying to make FCOS working manually. I will test the ISO to get an idea of it.

My ignition, in the brain, not made it spark yet :slight_smile:


Edit: It seams the installer is just pre release, right?

I hadn’t tried the Fedora IoT ISO images in a while and thought they still worked. Unfortunately, it seems I was wrong. I’m not sure why, but the one from the download page (with the pre-release/testing warning) failed to to write the boot loader configuration, and the latest compose failed to load the graphical part of the installer.

This is offtopic anyway and I’m not knowledgeable with Fedora IoT, so if you have questions related to Fedora CoreOS I would be glad to help if I can.

1 Like