Skip to content

Ubuntu 2X.XX installs fail to find EFI based bootloader partition. #7224

@karcaw

Description

@karcaw

When installing on the new ubuntu 20.X and 22.X on UEFI based systems, the code for creating a default partition sets the grub_device: tag on the device, and not a partition:

https://github.com/xcat2/xcat-core/blob/master/xCAT-server/share/xcat/install/scripts/pre.ubuntu.subiquity#L224

    - {id: disk-detected, ptable: msdos, path: $INSTALL_DISK, wipe: superblock,
      preserve: false, name: '', grub_device: true, type: disk}
    - {id: boot-part, device: disk-detected, size: 512MB, flag: boot,
      type: partition, preserve: false}

Which makes this code fail:
https://github.com/canonical/subiquity/blob/main/subiquity/models/filesystem.py#L1565

       elif self.bootloader == Bootloader.UEFI:
            for esp in self._all(type='partition', grub_device=True):
                if esp.fs() and esp.fs().mount():
                    if esp.fs().mount().path == '/boot/efi':
                        return False
            return True

changing the code in pre.ubuntu.subiquity to this:

    - {id: disk-detected, ptable: msdos, path: $INSTALL_DISK, wipe: superblock,
      preserve: false, name: '', type: disk}
    - {id: boot-part, device: disk-detected, size: 512MB, flag: boot,
      type: partition, preserve: false, grub_device: true}

Seems to solve the problem.

References:
#6681

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions