flatcar / Flatcar

Flatcar project repository for issue tracking, project documentation, etc.
https://www.flatcar.org/
Apache License 2.0
764 stars 32 forks source link

Embed Ignition in ISO #51

Open strawgate opened 4 years ago

strawgate commented 4 years ago

One thing that the new Fedora CoreOS has that we would love to see in FlatCar is the ability to embed the ignition file into the installation iso: Embed an Ignition config in a live ISO image to customize the running system that boots from it (coreos-installer iso)

ahrkrak commented 4 years ago

Seems like a good idea. @t-lo when we have the next new team member join (who comes with some FCOS experience) this would be a good thing to look at. @strawgate out of interest, is this something that stops you using Flatcar today, or simply a nice-to-have?

strawgate commented 4 years ago

Right now we undergo a slightly annoying process of expanding out the cpio in order to customize the boot environment of the live ISO and being able to place all of our customizations into a single ignition file that gets applied on boot to the live cd would be fantastic.

pothos commented 4 years ago

A helper tool to customize an ISO sounds doable. It probably makes sense to allow both including the Ignition file on the ISO in /flatcar as well as pointing to a generic URL.

Ignition already recognizes various places where it automatically detects a file and it can resolve locations like oem:// for the OEM partition. In case this is not enough a new location could be added (to resolve the CDROM drive or to detect memory content loaded by isolinux).

strawgate commented 4 years ago

The challenge for us is that using the OEM partition requires setting up our own builds and distributing our own images.

Ideally we'd be able to use stock media and have an easy way to embed the customizations similar to an unattend file for Windows.

pothos commented 2 years ago

Similar task as https://github.com/flatcar-linux/Flatcar/issues/63

Doosty commented 3 months ago

Any update on this? Right now i am forced to use Fedora CoreOS because it has this feature - podman run quay.io/coreos/coreos-installer:release iso customize --live-ignition ignition.json

chewi commented 2 months ago

I've been asked to look at this. I don't yet know how CoreOS does it though, so please give me time.

chewi commented 2 months ago

CoreOS has a 2KB area for embedding kernel arguments into the isolinux and GRUB configs too, which is interesting.

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Fedora CoreOS (Live)' --class fedora --class gnu-linux --class gnu --class os {
        linux /images/pxeboot/vmlinuz rw mitigations=auto,nosmt coreos.liveiso=fedora-coreos-40.20240808.3.0 ignition.firstboot ignition.platform.id=metal
################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################ COREOS_KARG_EMBED_AREA
        initrd /images/pxeboot/initrd.img /images/ignition.img
}