Installation failed due to a GRUB installation issue

Hi to all,

I tried to install EndeavourOS via Live USB (Artemis_nova_22_9) on two different partitions and it failed twice…

The goal was to have

  • an encrypted EndeavourOS (Qtile community edition) installed on a 400 GB partition
  • a non encrypted EndeavourOS (LXQT) installed on a 70 GB partition

Here is a screenshot of the partitions:

Here are the logs of the two failed installations:

As far as I understand, the issue seems to be related with GRUB… But I have no clue on how it could be solved

(Note that I need the luks passphrase to be asked after the grub phase, only when EndeavourOS Qtile’s kernel loads.)

Installing for x86_64-efi platform.
Could not prepare Boot variable: No space left on device
grub-install: error: efibootmgr failed to register the boot entry: Input/output error.

Is that a failure to write to NVRAM?

Boot off the live ISO and then run sudo efibootmgr and share the results here.

QTILE:

2022-11-06 - 19:46:35 [6]:     .. Target cmd: ("grub-install", "--target=x86_64-efi", "--efi-directory=/boot/efi", "--bootloader-id=endeavouros", "--force") Exit code: 1 output:
 Installing for x86_64-efi platform.
Could not prepare Boot variable: Input/output error
grub-install: error: efibootmgr failed to register the boot entry: Input/output error.
2022-11-06 - 19:46:35 [2]: WARNING: [PYTHON JOB]: "Command 'grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=endeavouros --force' returned non-zero exit status 1." 
2022-11-06 - 19:46:35 [6]: [PYTHON JOB]: "stdout:Installing for x86_64-efi platform.\nCould not prepare Boot variable: Input/output error\ngrub-install: error: efibootmgr failed to register the boot entry: Input/output error."

LXQT:


2022-11-06 - 22:38:52 [6]:     .. Target cmd: ("grub-install", "--target=x86_64-efi", "--efi-directory=/boot/efi", "--bootloader-id=endeavouros", "--force") Exit code: 1 output:
 Installing for x86_64-efi platform.
Could not prepare Boot variable: No space left on device
[liveuser@eos-2022.09.10 ~]$ sudo efibootmgr
No BootOrder is set; firmware will attempt recovery

It seems like you have some type of firmware issue there.

The Hardware is a NUC :

CPU: Intel Celeron N2820 (2) @ 2.399GHz
GPU: Intel Atom Processor Z36xxx/Z37xxx Series Graphics
Memory: 1530MiB / 3818MiB

I already installed EndeavourOS on another same NUC and it worked. What shall I do?

(before I formated the hd for partition, Lubuntu was installed on it, so this machine can work with Linux)

I guess you have a few options:

  • Fix the problem with your NVRAM not being writable
  • Install in Legacy/BIOS mode instead of UEFI
  • Modify the install file to use grub-install --removable so it doesn’t write to NVRAM

I have no clue how to implement options 1 and 3… Regarding option 2, do you mean to switch the flag of fat32 partition from esp to legacy_boot?

No, you need to boot the ISO in legacy mode instead of UEFI mode. Probably either through your BIOS or by bringing up the boot menu at launch. The exact method is hardware dependent.

In legacy mode, you won’t need a UEFI partition so you won’t have a fat32 partition.

I managed to install LXQT, by simply relaunching install and not formatting partitions during install. Unfortunately the same procedure didn’t work with Qtile… The installation stopped for another reason though (no relation with grub).

Here is the log.

Any clue on how to solve this issue?

the log from this install would be the interesting one… the log you show looks like it fails to write to target on reusing partitions…

How could I provide you with this log?

[guest@NUC-109 ~]$ cat ~/endeavour-install.log 
cat: /home/guest/endeavour-install.log: Aucun fichier ou dossier de ce type

In the installed system:

cat /var/log/endeavour-install.log | eos-sendlog

Thank you pebcak. Here it is.

1 Like

strange… usually it will fail …

I wonder if it is possible your nvram storage is simply full ?

Happen you have a lot of entries sitting there?
efibootmgr would show the entries . . .in a lot cases old entries will not getting removed …

1 Like
[guest@NUC-109 ~]$ efibootmgr
No BootOrder is set; firmware will attempt recovery

ha ha we saw this before…

does:
sudo efibootmgr -v -v

show more output?

[guest@NUC-109 ~]$ sudo efibootmgr -v -v
[sudo] Mot de passe de guest : 
Could not read variable 'BootNext': No such file or directory
error trace:
 efivarfs.c:268 efivarfs_get_variable(): open(/sys/firmware/efi/efivars/BootNext-XXX): No such file or directory
 lib.c:140 efi_get_variable(): ops->get_variable failed: No such file or directory
Could not read variable 'BootCurrent': No such file or directory
error trace:
 efivarfs.c:268 efivarfs_get_variable(): open(/sys/firmware/efi/efivars/BootCurrent-XXX): No such file or directory
 lib.c:140 efi_get_variable(): ops->get_variable failed: No such file or directory
Could not read variable 'Timeout': No such file or directory
error trace:
 efivarfs.c:268 efivarfs_get_variable(): open(/sys/firmware/efi/efivars/Timeout-XXX): No such file or directory
 lib.c:140 efi_get_variable(): ops->get_variable failed: No such file or directory
Could not read variable 'BootOrder': No such file or directory
error trace:
 efivarfs.c:268 efivarfs_get_variable(): open(/sys/firmware/efi/efivars/BootOrder-XXX): No such file or directory
 lib.c:140 efi_get_variable(): ops->get_variable failed: No such file or directory
 efibootmgr.c:372 read_order(): efi_get_variable failed: No such file or directory
No BootOrder is set; firmware will attempt recovery
Could not read variable 'MirrorCurrent': No such file or directory
error trace:
 efivarfs.c:268 efivarfs_get_variable(): open(/sys/firmware/efi/efivars/MirrorCurrent-XXX): No such file or directory
 lib.c:140 efi_get_variable(): ops->get_variable failed: No such file or directory
Could not read variable 'MirrorRequest': No such file or directory
error trace:
 efivarfs.c:268 efivarfs_get_variable(): open(/sys/firmware/efi/efivars/MirrorRequest-XXXX): No such file or directory
 lib.c:140 efi_get_variable(): ops->get_variable failed: No such file or directory

yes makes sure that you do not have anything inside the boot entries in NVRAM …

Do you say it shows in the same way on your other device where it is working?

The only thinks I come to mind here are rewriting firmware or changing grub to not install a boot entry in NVRAM (--no-nvram)

2022-11-08_13-54