-
Notifications
You must be signed in to change notification settings - Fork 24
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
bootupctl backend install --update-firmware
should match current Anaconda logic
#658
Comments
What I understood is, according to rhinstaller/anaconda#5508 (comment) The current issue in bootupd:
There's no way to make it create an entry but not add it to the boot order. Change to:
Or
|
We want to be able to use The issue is that when called with
The current Anaconda behavior (and the one we want to reproduce in bootupd) is https://github.com/rhinstaller/anaconda/blob/6e4f976f25f9d7668fa62a7d3141735f9828ec6a/pyanaconda/modules/storage/bootloader/efi.py#L141:
Anaconda finds the product name from https://github.com/rhinstaller/anaconda/blob/6e4f976f25f9d7668fa62a7d3141735f9828ec6a/pyanaconda/core/product.py#L67. As we don't have those files in our case, we should figure out where we should read it from. We could read it from Then rework Line 459 in 19610be
Then we use the product name to properly setup the boot entry. That should be enough to let us enable that option in Anaconda again and then re-include bootupd in Atomic Desktops. For a later issue, the idea is that we should consider implementing all the options (only those that make sense) from https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html#bootloader so that the bootupd path in Anaconda using a kickstart config matches the one for the classic non-bootupd path. |
Example result from a Kinoite 40 installation in a virtual machine:
|
So several things:
|
The most important part for the removal is that we only remove "our" boot entries and not other boot entries. Better to remove less than too much. |
Thanks @travier for the clarification. |
Or maybe read from
If we have the same boot entry name |
The output above is from a Fedora Kinoite 40 installation that was not done via bootupd but via Anaconda. |
What's fb? |
We would have to get clarification on how the product names can be set for Anaconda as I don't think it comes from this place after more thoughts. We likely don't expect Fedora Remixes or variants to change the shim package to change branding.
I think it's reasonable to remove both |
It is the
SGTM. |
OK. The fallback case happens when we don't use the In this case, we are looking at the path with |
Anaconda gets the product name from |
Copy Timothée's comment: We want to be able to use `bootupd backend install --update-firmware` in Anaconda to setup the boot order on EFI systems. The issue is that when called with `--update-firmware`, bootupd currently removes the `BootCurrent` boot entry, and then adds a new BootEntry for the system being installed. The current Anaconda behavior is to remove all boot entries that match the product name, then create a new boot entry using the product name and set it as the first one in the boot order. With this patch, when called with `--update-firmware`, bootupd will remove all boot entries that match the current vendor name( this will be changed to use product name in the later PR). See coreos#658
Copy Timothée's comment: We want to be able to use `bootupd backend install --update-firmware` in Anaconda to setup the boot order on EFI systems. The issue is that when called with `--update-firmware`, bootupd currently removes the `BootCurrent` boot entry, and then adds a new BootEntry for the system being installed. The current Anaconda behavior is to remove all boot entries that match the product name, then create a new boot entry using the product name and set it as the first one in the boot order. With this patch, when called with `--update-firmware`, bootupd will remove all boot entries that match the current vendor name( this will be changed to use product name in the later PR). See coreos#658
Copy Timothée's comment: We want to be able to use `bootupd backend install --update-firmware` in Anaconda to setup the boot order on EFI systems. The issue is that when called with `--update-firmware`, bootupd currently removes the `BootCurrent` boot entry, and then adds a new BootEntry for the system being installed. The current Anaconda behavior is to remove all boot entries that match the product name, then create a new boot entry using the product name and set it as the first one in the boot order. With this patch, when called with `--update-firmware`, bootupd will remove all boot entries that match the current vendor name( this will be changed to use product name in the later PR). See coreos#658
Copy Timothée's comment: We want to be able to use `bootupd backend install --update-firmware` in Anaconda to setup the boot order on EFI systems. The issue is that when called with `--update-firmware`, bootupd currently removes the `BootCurrent` boot entry, and then adds a new BootEntry for the system being installed. The current Anaconda behavior is to remove all boot entries that match the product name, then create a new boot entry using the product name and set it as the first one in the boot order. To sync with Anaconda behavior, when called with `--update-firmware`, bootupd will remove all boot entries that match the current vendor name(will be changed to use product name in the later PR). See coreos#658
Copy Timothée's comment: We want to be able to use `bootupd backend install --update-firmware` in Anaconda to setup the boot order on EFI systems. The issue is that when called with `--update-firmware`, bootupd currently removes the `BootCurrent` boot entry, and then adds a new BootEntry for the system being installed. The current Anaconda behavior is to remove all boot entries that match the product name, then create a new boot entry using the product name and set it as the first one in the boot order. To sync with Anaconda behavior, when called with `--update-firmware`, bootupd will remove all boot entries that match the current vendor name(will be changed to use product name in the later PR). See coreos#658
Copy Timothée's comment: We want to be able to use `bootupd backend install --update-firmware` in Anaconda to setup the boot order on EFI systems. The issue is that when called with `--update-firmware`, bootupd currently removes the `BootCurrent` boot entry, and then adds a new BootEntry for the system being installed. The current Anaconda behavior is to remove all boot entries that match the product name, then create a new boot entry using the product name and set it as the first one in the boot order. To sync with Anaconda behavior, when called with `--update-firmware`, bootupd will remove all boot entries that match the current vendor name (will be updated to use product name in the later PR). See coreos#658
Copy Timothée's comment: We want to be able to use `bootupd backend install --update-firmware` in Anaconda to setup the boot order on EFI systems. The issue is that when called with `--update-firmware`, bootupd currently removes the `BootCurrent` boot entry, and then adds a new BootEntry for the system being installed. The current Anaconda behavior is to remove all boot entries that match the product name, then create a new boot entry using the product name and set it as the first one in the boot order. To sync with Anaconda behavior, when called with `--update-firmware`, bootupd will remove all boot entries that match the product name. See coreos#658
Copy Timothée's comment: We want to be able to use `bootupd backend install --update-firmware` in Anaconda to setup the boot order on EFI systems. The issue is that when called with `--update-firmware`, bootupd currently removes the `BootCurrent` boot entry, and then adds a new BootEntry for the system being installed. The current Anaconda behavior is to remove all boot entries that match the product name, then create a new boot entry using the product name and set it as the first one in the boot order. To sync with Anaconda behavior, when called with `--update-firmware`, bootupd will remove all boot entries that match the product name. See coreos#658
Copy Timothée's comment: We want to be able to use `bootupd backend install --update-firmware` in Anaconda to setup the boot order on EFI systems. The issue is that when called with `--update-firmware`, bootupd currently removes the `BootCurrent` boot entry, and then adds a new BootEntry for the system being installed. The current Anaconda behavior is to remove all boot entries that match the product name, then create a new boot entry using the product name and set it as the first one in the boot order. To sync with Anaconda behavior, when called with `--update-firmware`, bootupd will remove all boot entries that match the product name. See coreos#658
With #665 merged, we can consider this one fixed. |
Thanks @HuijingHei |
With the following issues now fixed: - coreos/bootupd#630 - coreos/bootupd#658 - coreos/bootupd#551 And corresponding support in Anaconda: - rhinstaller/anaconda#5508 We can now (re-)enable bootupd for the bootable containers. After a bit of testing, we will enable it for the classic ostree ones. See: https://gitlab.com/fedora/ostree/sig/-/issues/1
See discussions in:
The text was updated successfully, but these errors were encountered: