Skip to content

default fallback to ostree=current #3500

@cgwalters

Description

@cgwalters

Re #2283 (but as a separate issue since while it's strongly related, we should think of this separately)

We have a whole chain of complex things in the current bootloader -> ostree= karg -> bootlinks -> deployment.

I think in the initramfs it'd be friendlier if we at least supported ostree=current or so, which could be defined in various ways, but the most obvious is to have a little bit of metadata attached to the deployment noting when it was last booted (i.e. ostree-boot-complete.service was reached).

Actually we should avoid depending on the wall clock, so probably we just want an incrementing serial number or so.

Anyways, in the initramfs we can support ostree=current which would find the largest number, and ostree=last-booted which would do the above (via ostree-boot-complete.service again).


Then connecting with the above issue, people could boot with ostree=last-booted manually (to start) and we should auto-repair the bootlinks on boot.

Arguably we could also change the initramfs logic to default to ostree=last-booted in the situation where the bootlinks are missing.

However...if we do any automatic fallback we definitely want observability - probably via having ostree-boot-complete.service failing? Or I guess logging structured metadata to the journal and/or exposing the fact we did a repair in the status.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions