find_efi_loader is missing bindings for aarch64 artifacts

Bug #2090874 reported by Alan Baghumian
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
curtin
Fix Committed
Medium
Alan Baghumian

Bug Description

Curtin currently utilizes the find_efi_loader function in the install_grub.py module to determine the correct utility to be used during the GRUB installation stage.

The current version only covers artifacts for x86_64 architecture, hence causing deployment failures (due to GRUB installation errors) on aarch64:

def find_efi_loader(target, bootid):
    efi_path = '/boot/efi/EFI'
    possible_loaders = [
        os.path.join(efi_path, bootid, 'shimx64.efi'),
        os.path.join(efi_path, 'BOOT', 'BOOTX64.EFI'),
        os.path.join(efi_path, bootid, 'grubx64.efi'),
    ]
    for loader in possible_loaders:
        tloader = target_path(target, path=loader)
        if os.path.exists(tloader):
            LOG.debug('find_efi_loader: found %s', loader)
            return loader
    return None

I'll be submitting a PR to fix this issue.

Tags: sts

Related branches

Changed in curtin:
status: New → In Progress
importance: Undecided → Medium
tags: added: sts
Changed in curtin:
status: In Progress → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.