Giter Club home page Giter Club logo

Comments (7)

cgwalters avatar cgwalters commented on June 26, 2024 1

Sure, but that's a generic Ignition code which also needs to handle e.g. the OpenSUSE thingy.

I said this somewhere else but it is for sure actively mind-melting that we need to handle and consider:

  • FCOS using both Ignition and OSTree
  • Silverblue/(older FIoT and others) using OSTree but not Ignition
  • OpenSuse MicroOS using Ignition but not OSTree
  • A whole lot of other distributions (traditional Fedora/RHEL etc.) using neither

from fedora-coreos-config.

darkmuggle avatar darkmuggle commented on June 26, 2024 1

I said this somewhere else but it is for sure actively mind-melting

You have no idea :)

from fedora-coreos-config.

darkmuggle avatar darkmuggle commented on June 26, 2024

Some nuance that we need to consider: our *.mount units use [email protected], which does a BindsTo on the device [1]. If the device changes underneath, then the unit fails and the device is unmounted. This causes errors like:

ostree[40698]: error: Unexpected state: /run/ostree-booted found, but no /boot/loader directory

[1] https://github.com/systemd/systemd/blob/master/units/systemd-fsck%40.service.in#L14

from fedora-coreos-config.

jlebon avatar jlebon commented on June 26, 2024

So for root, I think we're agreed having it be overridable via karg (and that actually works today already).

I can see wanting the same thing for boot on complex devices. So then our generator would just check first to see if a boot= karg is given and generate a boot mount from that before falling back to /dev/disk/by-label/boot?

from fedora-coreos-config.

jlebon avatar jlebon commented on June 26, 2024

Colin also had an interesting idea here on finding boot from what GRUB injects already, which would be really cool. Though I'm not sure how it'd translate to complex devices (e.g. if you boot on multipath, then you might actually be booting on one of the constituent devices, right?)

from fedora-coreos-config.

cgwalters avatar cgwalters commented on June 26, 2024

Aside but I'm pretty sure
ostree[40698]: error: Unexpected state: /run/ostree-booted found, but no /boot/loader directory isn't related - that's in the real root (in the case you're referencing during shutdown). The only bit of ostree-the-code that runs in the initramfs is ostree-prepare-root.service.

On second boot [6] has no dependencies on the actual device being there.

Sure, but that's a generic Ignition code which also needs to handle e.g. the OpenSUSE thingy. In this repo we use


which definitely has the requires, right?

@cgwalters suggested that for second boot we use explicit kargs of root=... which could address this issue.

Right, I think that's the simplest and even more importantly - it's basically the default for how most Linux systems work. It's definitely what Anaconda ends up using for example. We'd just be using labels to bootstrap.

from fedora-coreos-config.

cgwalters avatar cgwalters commented on June 26, 2024

I think this is basically fixed, for complex root we inject root= nowadays.

from fedora-coreos-config.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.