archlinux / archinstall

Arch Linux installer - guided, templates etc.
GNU General Public License v3.0
6.1k stars 530 forks source link

Is efistub intended to work as is? #1431

Open ghost opened 2 years ago

ghost commented 2 years ago

I've been attempting to run the installer with the efistub boot option on two different systems, both booted in uefi, both have failed.

Is this option intended to work without manual intervention? Do I need to take additional steps before running the installer? Couldn't find documentation or previous issues explaining it. Logs below.


Hardware model detected: ASUS System Product Name; UEFI mode: True
Processor model detected: AMD Ryzen 5 5600X 6-Core Processor
Memory statistics: 15653476 available out of 16285500 total installed
Could not detect virtual system: ['/usr/bin/systemd-detect-virt'] exited with abnormal exit code [256]: b'none\r\n'
System is not running in a VM: ['/usr/bin/systemd-detect-virt'] exited with abnormal exit code [256]: b'none\r\n'
Virtualization detected: None; is VM: None
Graphics devices detected: dict_keys(['NVIDIA Corporation GP104 [GeForce GTX 1080] (rev a1)'])
Disk states before installing: {'blockdevices': [{'name': 'loop0', 'fstype': 'squashfs', 'fsver': '4.0', 'label': None, 'uuid': None, 'fsavail': '0', 'fsuse%': '100%', 'mountpoints': ['/run/archiso/airootfs'], 'type': 'loop', 'size': '680M'}, {'name': 'sda', 'fstype': 'iso9660', 'fsver': 'Joliet Extension', 'label': 'ARCH_202208', 'uuid': '2022-08-05-11-09-34-00', 'fsavail': None, 'fsuse%': None, 'mountpoints': [None], 'type': 'disk', 'size': '14.9G', 'children': [{'name': 'sda1', 'fstype': 'iso9660', 'fsver': 'Joliet Extension', 'label': 'ARCH_202208', 'uuid': '2022-08-05-11-09-34-00', 'fsavail': '0', 'fsuse%': '100%', 'mountpoints': ['/run/archiso/bootmnt'], 'type': 'part', 'size': '773M'}, {'name': 'sda2', 'fstype': 'vfat', 'fsver': 'FAT16', 'label': 'ARCHISO_EFI', 'uuid': 'ACE9-8D8E', 'fsavail': None, 'fsuse%': None, 'mountpoints': [None], 'type': 'part', 'size': '13M'}]}, {'name': 'nvme1n1', 'fstype': None, 'fsver': None, 'label': None, 'uuid': None, 'fsavail': None, 'fsuse%': None, 'mountpoints': [None], 'type': 'disk', 'size': '465.8G', 'children': [{'name': 'nvme1n1p1', 'fstype': 'vfat', 'fsver': 'FAT32', 'label': None, 'uuid': '790D-1A7B', 'fsavail': None, 'fsuse%': None, 'mountpoints': [None], 'type': 'part', 'size': '511M'}, {'name': 'nvme1n1p2', 'fstype': 'btrfs', 'fsver': None, 'label': 'ROOT', 'uuid': '4c9c1062-0219-496d-b7d3-3a16c6fe60b9', 'fsavail': None, 'fsuse%': None, 'mountpoints': [None], 'type': 'part', 'size': '55.1G'}, {'name': 'nvme1n1p3', 'fstype': 'xfs', 'fsver': None, 'label': None, 'uuid': '0163096d-340a-4349-b688-81798ad64015', 'fsavail': None, 'fsuse%': None, 'mountpoints': [None], 'type': 'part', 'size': '410.2G'}]}, {'name': 'nvme0n1', 'fstype': None, 'fsver': None, 'label': None, 'uuid': None, 'fsavail': None, 'fsuse%': None, 'mountpoints': [None], 'type': 'disk', 'size': '232.9G', 'children': [{'name': 'nvme0n1p1', 'fstype': 'vfat', 'fsver': 'FAT32', 'label': None, 'uuid': '81C1-C2C3', 'fsavail': None, 'fsuse%': None, 'mountpoints': [None], 'type': 'part', 'size': '511M'}, {'name': 'nvme0n1p2', 'fstype': 'xfs', 'fsver': None, 'label': None, 'uuid': 'd2156a3d-925e-475c-a293-6655594fe50c', 'fsavail': None, 'fsuse%': None, 'mountpoints': [None], 'type': 'part', 'size': '232.4G'}]}]}
Testing connectivity to the Arch Linux mirrors ...
 -- Chosen configuration --
{
    "HSM": null,
    "__separator__": null,
    "additional-repositories": [
        "multilib"
    ],
    "advanced": true,
    "archinstall-language": "English",
    "audio": null,
    "bootloader": "efistub",
    "config_version": "2.5.0",
    "debug": false,
    "harddrives": [
        "/dev/nvme0n1"
    ],
    "hostname": "main",
    "kernels": [
        "linux"
    ],
    "keyboard-layout": "se-lat6",
    "mirror-region": {
        "Sweden": {
            "http://ftp.acc.umu.se/mirror/archlinux/$repo/os/$arch": true,
            "http://ftp.lysator.liu.se/pub/archlinux/$repo/os/$arch": true,
            "http://ftp.myrveln.se/pub/linux/archlinux/$repo/os/$arch": true,
            "http://ftpmirror.infania.net/mirror/archlinux/$repo/os/$arch": true,
            "https://ftp.acc.umu.se/mirror/archlinux/$repo/os/$arch": true,
            "https://ftp.ludd.ltu.se/mirrors/archlinux/$repo/os/$arch": true,
            "https://ftp.lysator.liu.se/pub/archlinux/$repo/os/$arch": true,
            "https://ftp.myrveln.se/pub/linux/archlinux/$repo/os/$arch": true,
            "https://mirror.osbeck.com/archlinux/$repo/os/$arch": true
        }
    },
    "mount_point": null,
    "nic": {
        "dhcp": true,
        "dns": null,
        "gateway": null,
        "iface": null,
        "ip": null,
        "type": "iso"
    },
    "ntp": true,
    "packages": [
        "zsh",
        "git",
        "efibootmgr"
    ],
    "plugin": null,
    "profile": {
        "path": "/usr/lib/python3.10/site-packages/archinstall/profiles/minimal.py"
    },
    "save_config": null,
    "script": "guided",
    "silent": false,
    "swap": true,
    "sys-encoding": "UTF-8",
    "sys-language": "en_US",
    "timezone": "Europe/Stockholm",
    "version": "2.5.0"
}
{
    "/dev/nvme0n1": {
        "partitions": [
            {
                "boot": true,
                "encrypted": false,
                "filesystem": {
                    "format": "fat32"
                },
                "mountpoint": "/boot",
                "size": "512MiB",
                "start": "1MiB",
                "type": "primary",
                "wipe": true
            },
            {
                "encrypted": false,
                "filesystem": {
                    "format": "xfs",
                    "mount_options": []
                },
                "mountpoint": "/",
                "size": "100%",
                "start": "513MiB",
                "type": "primary",
                "wipe": true
            }
        ],
        "wipe": true
    }
}
Creating a new partition label on /dev/nvme0n1
Adding partition to BlockDevice(/dev/nvme0n1, size=232.9GB, free_space=1031kB+1049kB+172kB, bus_type=nvme), 1MiB->512MiB
Adding partition using the following parted command: /dev/nvme0n1 mkpart primary fat32 1MiB 512MiB
Formatting /dev/nvme0n1p1 -> vfat
Could not locate mount information for /dev/nvme0n1p1: ['/usr/bin/findmnt', '--json', '-R', '/dev/nvme0n1p1'] exited with abnormal exit code [256]: b''
Marking partition Partition(path=/dev/nvme0n1p1, size=0.5, PARTUUID=8254-2891, fs=vfat) as bootable.
Setting boot on on (parted) partition index 1
Adding partition to BlockDevice(/dev/nvme0n1, size=232.9GB, free_space=1031kB+1049kB+172kB, bus_type=nvme), 513MiB->100%
Adding partition using the following parted command: /dev/nvme0n1 mkpart primary xfs 513MiB 100%
Formatting /dev/nvme0n1p2 -> xfs
Could not locate mount information for /dev/nvme0n1p2: ['/usr/bin/findmnt', '--json', '-R', '/dev/nvme0n1p2'] exited with abnormal exit code [256]: b''
Mounting / to /mnt/archinstall/ using Partition(path=/dev/nvme0n1p2, size=232.4, PARTUUID=2bace81f-82e5-44dd-b440-48c8a82e176e, fs=xfs)
Could not locate mount information for /dev/nvme0n1p1: ['/usr/bin/findmnt', '--json', '-R', '/dev/nvme0n1p1'] exited with abnormal exit code [256]: b''
Mounting /boot to /mnt/archinstall/boot using Partition(path=/dev/nvme0n1p1, size=0.5, PARTUUID=8254-2891, fs=vfat)
Using mount order: [('/', <function Installer.mount_ordered_layout.<locals>.<lambda> at 0x7f4f563d49d0>), ('/boot', <function Installer.mount_ordered_layout.<locals>.<lambda> at 0x7f4f563d4c10>)]
Could not locate mount information for /dev/nvme0n1p2: ['/usr/bin/findmnt', '--json', '-R', '/dev/nvme0n1p2'] exited with abnormal exit code [256]: b''
Could not locate mount information for /dev/nvme0n1p2: ['/usr/bin/findmnt', '--json', '-R', '/dev/nvme0n1p2'] exited with abnormal exit code [256]: b''
Mounting Partition(path=/dev/nvme0n1p2, size=232.4, PARTUUID=2bace81f-82e5-44dd-b440-48c8a82e176e, fs=xfs) to /mnt/archinstall/
Getting mount information for device path /mnt/archinstall
Could not locate mount information for /dev/nvme0n1p1: ['/usr/bin/findmnt', '--json', '-R', '/dev/nvme0n1p1'] exited with abnormal exit code [256]: b''
Could not locate mount information for /dev/nvme0n1p1: ['/usr/bin/findmnt', '--json', '-R', '/dev/nvme0n1p1'] exited with abnormal exit code [256]: b''
Mounting Partition(path=/dev/nvme0n1p1, size=0.5, PARTUUID=8254-2891, fs=vfat) to /mnt/archinstall/boot
Getting mount information for device path /mnt/archinstall/boot
Unreliable results might be given for /dev/sda1 due to partprobe error: ['/usr/bin/partprobe', '/dev/sda'] exited with abnormal exit code [256]: b'Error: Partition(s) 1 on /dev/sda have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use.  As a result, the old partition(s) will remain in use.  You should reboot now before making further changes.\r\n'
Unreliable results might be given for /dev/sda1 due to partprobe error: ['/usr/bin/partprobe', '/dev/sda'] exited with abnormal exit code [256]: b'Error: Partition(s) 1 on /dev/sda have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use.  As a result, the old partition(s) will remain in use.  You should reboot now before making further changes.\r\n'
Filtering available mounts {'/mnt/archinstall/boot': Partition(path=/dev/nvme0n1p1, size=0.5, PARTUUID=8254-2891, fs=vfat, mounted=/mnt/archinstall/boot), '/run/archiso/bootmnt': Partition(path=/dev/sda1, size=0.8, PARTUUID=None, fs=iso9660, mounted=/run/archiso/bootmnt), '/mnt/archinstall': Partition(path=/dev/nvme0n1p2, size=232.4, PARTUUID=2bace81f-82e5-44dd-b440-48c8a82e176e, fs=xfs, mounted=/mnt/archinstall)} to those under /mnt/archinstall
Available partitions: {'/mnt/archinstall': Partition(path=/dev/nvme0n1p2, size=232.4, PARTUUID=2bace81f-82e5-44dd-b440-48c8a82e176e, fs=xfs, mounted=/mnt/archinstall), '/mnt/archinstall/boot': Partition(path=/dev/nvme0n1p1, size=0.5, PARTUUID=8254-2891, fs=vfat, mounted=/mnt/archinstall/boot)}
Waiting for automatic mirror selection (reflector) to complete.
Waiting for dbus-org.freedesktop.timesync1.service to enter running state
A new package mirror-list has been created: /etc/pacman.d/mirrorlist
Unreliable results might be given for /dev/sda1 due to partprobe error: ['/usr/bin/partprobe', '/dev/sda'] exited with abnormal exit code [256]: b'Error: Partition(s) 1 on /dev/sda have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use.  As a result, the old partition(s) will remain in use.  You should reboot now before making further changes.\r\n'
Unreliable results might be given for /dev/sda1 due to partprobe error: ['/usr/bin/partprobe', '/dev/sda'] exited with abnormal exit code [256]: b'Error: Partition(s) 1 on /dev/sda have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use.  As a result, the old partition(s) will remain in use.  You should reboot now before making further changes.\r\n'
Filtering available mounts {'/mnt/archinstall/boot': Partition(path=/dev/nvme0n1p1, size=0.5, PARTUUID=8254-2891, fs=vfat, mounted=/mnt/archinstall/boot), '/run/archiso/bootmnt': Partition(path=/dev/sda1, size=0.8, PARTUUID=None, fs=iso9660, mounted=/run/archiso/bootmnt), '/mnt/archinstall': Partition(path=/dev/nvme0n1p2, size=232.4, PARTUUID=2bace81f-82e5-44dd-b440-48c8a82e176e, fs=xfs, mounted=/mnt/archinstall)} to those under /mnt/archinstall
Available partitions: {'/mnt/archinstall': Partition(path=/dev/nvme0n1p2, size=232.4, PARTUUID=2bace81f-82e5-44dd-b440-48c8a82e176e, fs=xfs, mounted=/mnt/archinstall), '/mnt/archinstall/boot': Partition(path=/dev/nvme0n1p1, size=0.5, PARTUUID=8254-2891, fs=vfat, mounted=/mnt/archinstall/boot)}
System is not running in a VM: ['/usr/bin/systemd-detect-virt'] exited with abnormal exit code [256]: b'none\r\n'
The multilib flag is set. This system will be installed with the multilib repository enabled.
The testing flag is not set. This system will be installed without testing repositories enabled.
Installing packages: ['base', 'base-devel', 'linux-firmware', 'linux', 'xfsprogs', 'amd-ucode']
Enabling periodic TRIM
Enabling service fstrim.timer
Setting up swap on zram
Installing packages: ('zram-generator',)
Enabling service systemd-zram-setup@zram0.service
Unreliable results might be given for /dev/sda1 due to partprobe error: ['/usr/bin/partprobe', '/dev/sda'] exited with abnormal exit code [256]: b'Error: Partition(s) 1 on /dev/sda have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use.  As a result, the old partition(s) will remain in use.  You should reboot now before making further changes.\r\n'
Unreliable results might be given for /dev/sda1 due to partprobe error: ['/usr/bin/partprobe', '/dev/sda'] exited with abnormal exit code [256]: b'Error: Partition(s) 1 on /dev/sda have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use.  As a result, the old partition(s) will remain in use.  You should reboot now before making further changes.\r\n'
Filtering available mounts {'/mnt/archinstall/boot': Partition(path=/dev/nvme0n1p1, size=0.5, PARTUUID=8254-2891, fs=vfat, mounted=/mnt/archinstall/boot), '/run/archiso/bootmnt': Partition(path=/dev/sda1, size=0.8, PARTUUID=None, fs=iso9660, mounted=/run/archiso/bootmnt), '/mnt/archinstall': Partition(path=/dev/nvme0n1p2, size=232.4, PARTUUID=2bace81f-82e5-44dd-b440-48c8a82e176e, fs=xfs, mounted=/mnt/archinstall)} to those under /mnt/archinstall
Available partitions: {'/mnt/archinstall': Partition(path=/dev/nvme0n1p2, size=232.4, PARTUUID=2bace81f-82e5-44dd-b440-48c8a82e176e, fs=xfs, mounted=/mnt/archinstall), '/mnt/archinstall/boot': Partition(path=/dev/nvme0n1p1, size=0.5, PARTUUID=8254-2891, fs=vfat, mounted=/mnt/archinstall/boot)}
Adding bootloader efistub to Partition(path=/dev/nvme0n1p1, size=0.5, PARTUUID=8254-2891, fs=vfat, mounted=/mnt/archinstall/boot)
Installing packages: ('efibootmgr',)
System is not running in a VM: ['/usr/bin/systemd-detect-virt'] exited with abnormal exit code [256]: b'none\r\n'
Identifying root partition by PART-UUID on Partition(path=/dev/nvme0n1p2, size=232.4, PARTUUID=2bace81f-82e5-44dd-b440-48c8a82e176e, fs=xfs, mounted=/mnt/archinstall), looking for 'be3765a7-c8d9-47bb-bfe1-c421fb30a731'.
['/usr/bin/efibootmgr', '--disk', '/dev/nvme0n1p', '--part', '1', '--create', '--label', 'Arch Linux (linux)', '--loader', '/vmlinuz-linux', '--unicode', 'initrd=\\amd-ucode.img initrd=\\initramfs-linux.img root=PARTUUID=be3765a7-c8d9-47bb-bfe1-c421fb30a731 rw intel_pstate=no_hwp rootfstype=xfs ', '--verbose'] exited with abnormal exit code [1280]: b'_file_device_path_from_esp(): could not open device for ESP: No such file or directory\r\n creator.c:335 efi_generate_file_device_path_from_esp(): could not generate File DP from ESP: No such file or directory\r\n efi.c:225 make_linux_load_option(): efi_generate_file_device_path_from_esp() = -1 (failed): No such file or directory\r\n efibootmgr.c:295 make_var(): make_linux_load_option() failed: No such file or directory\r\n efibootmgr.c:344 make_var(): Could not set variable: No such file or directory\r\n'
Torxed commented 2 years ago

It's intended to work as is, but something has obviously changed. The option is supposed to be hidden from normal consumers as it's not tested enough to be considered stable.

So these types of bug reports are very valuable. In this case I'm not sure what or why it's complaining, which directory is it that it can't find? I'm assuming it's /mnt/archinstall/boot which appears to be correctly mounted.

ghost commented 2 years ago

That is the entirety of the log file. I don't have the output from the installer process as this happened yesterday, but I could happily give it another go if there are better methods to obtain more information. My attempted installation was quite straight forward; installer suggested partition layout for xfs on nvme0n1, no separate /home partition and the boot flag was, according to the installer, set for nvme0np1.

Torxed commented 2 years ago

efistub sould be hidden behind --advanced, if it isn't then we should consider moving it back there. I'd have to run a few tests myself to figure this one out as I mainly use systemd-boot for all my machines and most of the test cases I run before each release.

This is most likely a valid bug, I just don't know enough about efistub to pinpoint it quickly.