Add (non-atomic) support for GRUB2 + UEFI
We need basic support for UEFI - many newer servers don't support BIOS compatibility mode anymore. However, this patch only implements non-atomic because UEFI is FAT, and we can't do the previous design for OSTree of atomic swap of /boot/loader. The Fedora/RHEL UEFI layout has the kernels on a "real" /boot partition, and /boot/efi/EFI/$vendor just holds the grub2 UEFI binary and grub.cfg. Following this, /boot/loader is still on the OS boot partition, and we still atomically swap it. This potentially paves the way to atomic upgrades in the future. https://bugzilla.gnome.org/show_bug.cgi?id=724246
This commit is contained in:
1 parent
b43ce2329e
commit
0c89abee6d
10 files changed
+202
-42
No files matched your search
@@ -1598,9 +1598,12 @@ ostree_sysroot_write_deployments (OstreeSysroot *self,
|
||||
else
|
||||
{
|
||||
int new_bootversion = self->bootversion ? 0 : 1;
|
||||
gs_unref_object OstreeBootloader *bootloader = _ostree_sysroot_query_bootloader (self);
|
||||
gs_unref_object OstreeBootloader *bootloader = NULL;
|
||||
gs_unref_object GFile *new_loader_entries_dir = NULL;
|
||||
|
||||
if (!_ostree_sysroot_query_bootloader (self, &bootloader, cancellable, error))
|
||||
goto out;
|
||||
|
||||
new_loader_entries_dir = ot_gfile_resolve_path_printf (self->path, "boot/loader.%d/entries",
|
||||
new_bootversion);
|
||||
if (!gs_shutil_rm_rf (new_loader_entries_dir, cancellable, error))
|
||||
|
||||
Reference in new issue
Block a user