grub: Add an optional efiBootloaderId setting.
If the efiBootloaderId is set, it is used as the --bootloader-id when installing grub-efi. The rationale is pretty much the same as for the Gummiboot case. If the setting is not used, the --bootloader-id is determined from the branding's bootloaderEntryName (as before).
This commit is contained in:
parent
5209af0182
commit
3d9116b80e
@ -4,3 +4,8 @@
|
|||||||
grubInstall: "grub-install"
|
grubInstall: "grub-install"
|
||||||
grubMkconfig: "grub-mkconfig"
|
grubMkconfig: "grub-mkconfig"
|
||||||
grubCfg: "/boot/grub/grub.cfg"
|
grubCfg: "/boot/grub/grub.cfg"
|
||||||
|
# Optionally set the --bootloader-id to use for EFI. If not set, this defaults
|
||||||
|
# to the bootloaderEntryName from branding.desc with problematic characters
|
||||||
|
# replaced. If an efiBootloaderId is specified here, it is taken to already be a
|
||||||
|
# valid directory name, so no such postprocessing is done in this case.
|
||||||
|
# efiBootloaderId: "dirname"
|
||||||
|
@ -26,10 +26,14 @@ from libcalamares.utils import check_chroot_call
|
|||||||
def install_grub(boot_loader, fw_type):
|
def install_grub(boot_loader, fw_type):
|
||||||
if fw_type == 'efi':
|
if fw_type == 'efi':
|
||||||
efi_directory = "/boot/efi"
|
efi_directory = "/boot/efi"
|
||||||
|
if "efiBootloaderId" in libcalamares.job.configuration:
|
||||||
|
efi_bootloader_id = libcalamares.job.configuration["efiBootloaderId"]
|
||||||
|
else:
|
||||||
branding = libcalamares.globalstorage.value("branding")
|
branding = libcalamares.globalstorage.value("branding")
|
||||||
distribution = branding["bootloaderEntryName"]
|
distribution = branding["bootloaderEntryName"]
|
||||||
file_name_sanitizer = str.maketrans(" /", "_-")
|
file_name_sanitizer = str.maketrans(" /", "_-")
|
||||||
check_chroot_call([libcalamares.job.configuration["grubInstall"], "--target=x86_64-efi", "--efi-directory={!s}".format(efi_directory), "--bootloader-id={!s}".format(distribution.translate(file_name_sanitizer))])
|
efi_bootloader_id = distribution.translate(file_name_sanitizer)
|
||||||
|
check_chroot_call([libcalamares.job.configuration["grubInstall"], "--target=x86_64-efi", "--efi-directory={!s}".format(efi_directory), "--bootloader-id={!s}".format(efi_bootloader_id)])
|
||||||
else:
|
else:
|
||||||
install_path = boot_loader["installPath"]
|
install_path = boot_loader["installPath"]
|
||||||
check_chroot_call([libcalamares.job.configuration["grubInstall"], install_path])
|
check_chroot_call([libcalamares.job.configuration["grubInstall"], install_path])
|
||||||
|
Loading…
Reference in New Issue
Block a user