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 bootupd to RHEL 9 #5424

Merged
merged 8 commits into from
Feb 1, 2024

Commits on Jan 26, 2024

  1. rpm-ostree: Setup readonly sysroot for ostree & rw karg

    - Enable read only sysroot in the ostree repo config.
    - Add `rw` to the kernel arguments to keep statefull parts of the system
      (/var & /etc) writable.
    - Update units tests to account for the new rw karg
    
    (cherry-picked from a commit 0e00c90)
    
    Related: RHEL-2250
    travier authored and poncovka committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    853f583 View commit details
    Browse the repository at this point in the history
  2. Apply the bootloader options before the installation

    Some of the bootloader options are not needed until the installation.
    If we apply them during the scheduling of the partitions, it won't be
    possible to change them after that, for example, from an add-on. Let's
    apply these options later, right before the bootloader installation.
    
    (cherry-picked from a commit dbac59a)
    
    Related: RHEL-17205
    poncovka committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    5f5fc5c View commit details
    Browse the repository at this point in the history
  3. bootloader: Remove the install_boot_loader function

    Move the implementation to the `InstallBootloaderTask` class.
    
    (cherry-picked from a commit e96bded)
    
    Related: RHEL-17205
    poncovka committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    3fe964e View commit details
    Browse the repository at this point in the history
  4. bootloader: Add the collect_arguments method

    Add a new method for collecting kernel arguments for the installation.
    
    (cherry-picked from a commit 6967994)
    
    Related: RHEL-17205
    poncovka committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    766f5d3 View commit details
    Browse the repository at this point in the history
  5. bootloader: Create an installation task for collecting kernel arguments

    Use the `CollectKernelArgumentsTask` task to collect kernel arguments
    for the installation. It will be used by the bootupd support that needs
    to be able to collect kernel arguments without installing the bootloader.
    
    (cherry-picked from a commit 8a7641e)
    
    Related: RHEL-17205
    poncovka committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    1377c44 View commit details
    Browse the repository at this point in the history
  6. ostree: Use bootupd if installed by payload

    Original commit message from Colin Walters was:
    
    The https://github.com/coreos/bootupd project was created to fill
    the gap in bootloader management for ostree-based systems.
    
    When it was created, it was just integrated into Fedora CoreOS
    and derivatives; this left the Atomic Desktops (Silverblue etc.)
    as unfixed, and it was never used by RHEL for Edge.
    
    This PR is aiming to circle back and close that gap.  We
    detect if bootupd is in the target root; if it is, then
    we skip the regular bootloader work, and just run bootupd to
    perform the installation.
    
    The other hacks we have around the grub config are no longer
    necessary in this mode.
    
    (cherry-picked from a commit 8e690d5)
    
    Resolves: RHEL-17205
    VladimirSlavik authored and poncovka committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    a42e2a0 View commit details
    Browse the repository at this point in the history
  7. bootloader: Detect bootupd and skip regular install

    (cherry-picked from a commit 0d42d2f)
    
    Related: RHEL-17205
    VladimirSlavik authored and poncovka committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    bfe39f8 View commit details
    Browse the repository at this point in the history
  8. bootupd: Use --write-uuid

    This is an even newer behavior that takes over handling
    of the "UUID stamp files", which we want in general instead of
    using the static labels.
    
    Note `--write-uuid` implies `--with-static-configs`.
    
    This should fix this use case:
    
    ```
    clearpart --all --initlabel --disklabel=gpt
    reqpart --add-boot
    part / --grow --fstype xfs
    ```
    
    Whereas right now we require:
    
    ```
    clearpart --all --initlabel --disklabel=gpt
    reqpart
    part /boot --size=1000  --fstype=ext4 --label=boot
    part / --grow --fstype xfs
    ```
    
    Specifically the `--label=boot`.
    
    (cherry-picked from a commit 7b091de)
    
    Related: RHEL-17205
    cgwalters authored and poncovka committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    a658b4b View commit details
    Browse the repository at this point in the history