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

Conversation

poncovka
Copy link
Contributor

@poncovka poncovka commented Jan 25, 2024

Port the support for bootupd from #5350, #5342 and #5363.

Resolves: RHEL-17205

Depends on: #5427

@poncovka poncovka added manual testing required This issue can't be merged without manual testing rhel-9 labels Jan 25, 2024
@pep8speaks
Copy link

pep8speaks commented Jan 25, 2024

Hello @poncovka! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

There are currently no PEP 8 issues detected in this Pull Request. Cheers! 🍻

Comment last updated at 2024-01-26 15:28:48 UTC

@poncovka
Copy link
Contributor Author

/build-image --boot-iso

Copy link

Images built based on commit 502c537:

  • boot.iso: success

Download the images from the bottom of the job status page.

- 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
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
Move the implementation to the `InstallBootloaderTask` class.

(cherry-picked from a commit e96bded)

Related: RHEL-17205
Add a new method for collecting kernel arguments for the installation.

(cherry-picked from a commit 6967994)

Related: RHEL-17205
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 poncovka removed the manual testing required This issue can't be merged without manual testing label Jan 26, 2024
VladimirSlavik and others added 3 commits January 26, 2024 16:25
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
(cherry-picked from a commit 0d42d2f)

Related: RHEL-17205
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
Copy link
Contributor

@VladimirSlavik VladimirSlavik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Preliminarily LGTM. Thanks!

@poncovka poncovka marked this pull request as ready for review January 30, 2024 10:37
@poncovka
Copy link
Contributor Author

/kickstart-test --testtype smoke

Copy link
Contributor

@rvykydal rvykydal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

@poncovka poncovka added the ready to merge The PR can be merged. It should have all BZ flags required for releasing set (usually release+). label Jan 31, 2024
@M4rtinK M4rtinK merged commit 04dfd7e into rhinstaller:rhel-9 Feb 1, 2024
8 checks passed
rvykydal added a commit to rvykydal/kickstart-tests that referenced this pull request Feb 6, 2024
Updates the test by enabling the bootloader for this change:
rhinstaller/anaconda#5424
rvykydal added a commit to rvykydal/kickstart-tests that referenced this pull request Feb 6, 2024
Updates the test by enabling the bootloader for this change:
rhinstaller/anaconda#5424
jikortus pushed a commit to jikortus/kickstart-tests that referenced this pull request Mar 21, 2024
Updates the test by enabling the bootloader for this change:
rhinstaller/anaconda#5424
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready to merge The PR can be merged. It should have all BZ flags required for releasing set (usually release+). rhel-9
Development

Successfully merging this pull request may close these issues.

7 participants