mirror of
https://github.com/parchlinux/calamares.git
synced 2025-02-24 19:05:46 -05:00
Enable support for 32bit UEFI systems with Grub
Read the UEFI bitness exposed to the file system and install the correct variant of Grub, depending on the UEFI bitness.
This commit is contained in:
parent
64772d67c9
commit
7e8129a902
1 changed files with 10 additions and 1 deletions
|
@ -176,7 +176,16 @@ def install_grub(efi_directory, fw_type):
|
|||
distribution = branding["bootloaderEntryName"]
|
||||
file_name_sanitizer = str.maketrans(" /", "_-")
|
||||
efi_bootloader_id = distribution.translate(file_name_sanitizer)
|
||||
check_target_env_call([libcalamares.job.configuration["grubInstall"], "--target=x86_64-efi",
|
||||
# get bitness of the underlying UEFI
|
||||
try:
|
||||
f = open("/sys/firmware/efi/fw_platform_size", "r")
|
||||
efi_bitness = f.read(2)
|
||||
except:
|
||||
# if the kernel is older than 4.0, the UEFI bitness likely isn't exposed to the userspace
|
||||
# so we assume a 64 bit UEFI here
|
||||
efi_bitness = "64"
|
||||
bitness_translate = {"32": "--target=i386-efi", "64": "--target=x86_64-efi"}
|
||||
check_target_env_call([libcalamares.job.configuration["grubInstall"], bitness_translate[efi_bitness],
|
||||
"--efi-directory={!s}".format(efi_directory),
|
||||
"--bootloader-id={!s}".format(efi_bootloader_id),
|
||||
"--force"])
|
||||
|
|
Loading…
Add table
Reference in a new issue