Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for minimal ISO packing/unpacking #559

Merged
merged 4 commits into from
Nov 10, 2021
Merged

Add support for minimal ISO packing/unpacking #559

merged 4 commits into from
Nov 10, 2021

Commits on Nov 5, 2021

  1. live: factor out helper to check stdout isn't a TTY

    Prep for calling it in a future patch.
    jlebon committed Nov 5, 2021
    Configuration menu
    Copy the full SHA
    fd6be9f View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2021

  1. live: add IsoConfig::for_iso()

    Prep for using it in a future patch.
    jlebon committed Nov 10, 2021
    Configuration menu
    Copy the full SHA
    7e348db View commit details
    Browse the repository at this point in the history
  2. live: add KargEmbedInfo::for_iso()

    Prep for using it in a future patch.
    jlebon committed Nov 10, 2021
    Configuration menu
    Copy the full SHA
    f775dca View commit details
    Browse the repository at this point in the history
  3. Add support for minimal ISO packing/unpacking

    This command allows packing into the live ISO a minimal version of
    itself which does not contain the root squashfs. The use case for
    minimal ISOs has come up multiple times, notably in:
    
    coreos/fedora-coreos-tracker#661
    
    This is a sort of intermediate approach where we don't officially ship a
    new artifact, but allow users to derive the minimal ISO from the
    official live ISO.
    
    The way this works is similar to osmet. It requires a "packing" step at
    build time which adds an osmet-like file (the miniso data file) on the
    full ISO itself. The data file describes how to construct a minimal ISO
    from the full ISO. It weighs in at a few kilobytes, so the impact of the
    size of the live ISO is negligible. If we ever officially do ship a
    minimal ISO, it also allows for the possibility of matching its checksum
    exactly.
    
    The method should be arch-independent and does not rely on e.g.
    modifying ISO9660 structures or moving the GPT backup header, etc...
    
    We support a `--rootfs-url` option which uses the `iso kargs` code to
    inject `coreos.live.rootfs_url` since that's the primary use case. That
    way, the minimal ISO can be prepared in a single step.
    
    One of the primary goals is to ideally satisfy the needs of the Assisted
    Installer (https://github.com/openshift/assisted-installer), though
    there's more things needed before we get there (notably #545).
    jlebon committed Nov 10, 2021
    Configuration menu
    Copy the full SHA
    fd6b487 View commit details
    Browse the repository at this point in the history