New Manjaro (all) distros Installs have problems with EFI

Dears:

I have the same problem, I just can’t install it on my machine.
Why? After almost 10 hours of digging I found why!

In the kernel 5.15 that the new Manjaro distributions use (XFCE, KDE or GNOME) the is a serious problem with EFI or UEFI support.
The setup always fail to set the grub-install on /boot/efi.

I read all the articles related with the subject, tried everything and no EFI install, so I looked for more info.

Here is the problem:
The kernel module for efivarsfs is obsolete, the new module is fs-efivars.
The problem is that that module is not in the kernel version 5.10 of Manjaro, instead the old one is as you can see here:

cat modules.builtin | grep efi
kernel/fs/efivarfs/efivarfs.ko

The new one doesn’t even show in the kernel modules list.

But if you check the content of /proc/config.gz you see this:

[manjaro@manjaro k_sources]$ zcat /proc/config.gz | grep CONFIG_EFI
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_EFI_MIXED=y
CONFIG_EFI_PARTITION=y
# CONFIG_EFI_VARS is not set
CONFIG_EFI_ESRT=y
CONFIG_EFI_VARS_PSTORE=y
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
CONFIG_EFI_RUNTIME_MAP=y
# CONFIG_EFI_FAKE_MEMMAP is not set
CONFIG_EFI_SOFT_RESERVE=y
CONFIG_EFI_RUNTIME_WRAPPERS=y
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
CONFIG_EFI_BOOTLOADER_CONTROL=m
CONFIG_EFI_CAPSULE_LOADER=m
# CONFIG_EFI_TEST is not set
CONFIG_EFI_RCI2_TABLE=y
# CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_EMBEDDED_FIRMWARE=y
CONFIG_EFI_DEV_PATH_PARSER=y
CONFIG_EFI_EARLYCON=y
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
CONFIG_EFIVAR_FS=y
# CONFIG_EFI_PGT_DUMP is not set

Noting the settings:

CONFIG_EFIVAR_FS=y // The new version
# CONFIG_EFI_VARS is not set // The old one commented and not set

Therefore when the setup tries to find the efivars it fails.

Someone forgot something… (just a thought, perhaps…)

Thanks
Now you can solve it.

Regards
Joao

I test installations frequently and I have experienced zero issues with efi.

You could have created an issue at gitlab - Core · GitLab - yet you created a user just to post this topic - why?


Edit

You are obviously looking at the wrong source

History of the config file makes it even more obvious you are passing along invalid information

1 Like

Should the CONFIG_EFI_BOOTLOADER_CONTROL=m be changed to y?

Hi @joaorsilva ,
I wonder whether you could consider another that it is not the problem you posted, because the output on my system is the same as yours.
Here is the output of the terminal command on my system: lsblk

NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda            8:0    0 223,6G  0 disk 
├─sda1         8:1    0   500M  0 part /boot/efi
├─sda2         8:2    0   3,9G  0 part [SWAP]
├─sda3         8:3    0  97,7G  0 part /
└─sda4         8:4    0 121,5G  0 part /home
mmcblk0      179:0    0  29,1G  0 disk 
├─mmcblk0p1  179:1    0   300M  0 part 
└─mmcblk0p2  179:2    0  28,8G  0 part 
mmcblk0boot0 179:8    0     4M  1 disk 
mmcblk0boot1 179:16   0     4M  1 disk 

Here is the output of the terminal command: zcat /proc/config.gz | grep CONFIG_EFI

CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_EFI_MIXED=y
CONFIG_EFI_PARTITION=y
# CONFIG_EFI_VARS is not set
CONFIG_EFI_ESRT=y
CONFIG_EFI_VARS_PSTORE=y
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
CONFIG_EFI_RUNTIME_MAP=y
# CONFIG_EFI_FAKE_MEMMAP is not set
CONFIG_EFI_SOFT_RESERVE=y
CONFIG_EFI_RUNTIME_WRAPPERS=y
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
CONFIG_EFI_BOOTLOADER_CONTROL=m
CONFIG_EFI_CAPSULE_LOADER=m
# CONFIG_EFI_TEST is not set
CONFIG_EFI_RCI2_TABLE=y
# CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_EMBEDDED_FIRMWARE=y
CONFIG_EFI_DEV_PATH_PARSER=y
CONFIG_EFI_EARLYCON=y
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
# CONFIG_EFI_DISABLE_RUNTIME is not set
CONFIG_EFIVAR_FS=y
# CONFIG_EFI_PGT_DUMP is not set

Regards,

I have no idea what causes the error. It seems quiet random, the only thing that sometimes work is to try to install it again but don’t format any partitions. Again why this should work I have no idea.

Errormessage
Job file "/usr/lib/calamares/modules/bootloader/main.py" 
2022-09-01 - 01:23:07 [6]: [PYTHON JOB]: Found gettext "en_GB" in "/usr/share/locale/en_GB" 
2022-09-01 - 01:23:07 [6]:     .. Job description from pretty_name "bootloader" = "Install bootloader." 
2022-09-01 - 01:23:07 [6]: [PYTHON JOB]: "Bootloader: grub (efi)" 
2022-09-01 - 01:23:07 [6]:     .. Running ("grub-install", "--target=x86_64-efi", "--efi-directory=/boot/efi", "--bootloader-id=Manjaro", "--force") 
2022-09-01 - 01:23:09 [6]:     .. Target cmd: ("grub-install", "--target=x86_64-efi", "--efi-directory=/boot/efi", "--bootloader-id=Manjaro", "--force") Exit code: 1 output:
 Installing for x86_64-efi platform.
grub-install: error: unknown filesystem.
2022-09-01 - 01:23:09 [2]: WARNING: [PYTHON JOB]: "Command 'grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Manjaro --force' returned non-zero exit status 1." 
2022-09-01 - 01:23:09 [6]: [PYTHON JOB]: "stdout:Installing for x86_64-efi platform.\ngrub-install: error: unknown filesystem." 
2022-09-01 - 01:23:09 [6]: [PYTHON JOB]: "stderr:None" 
2022-09-01 - 01:23:09 [6]: virtual void Calamares::JobThread::run()
    Skipping non-emergency job "postcfg" 
2022-09-01 - 01:23:09 [6]:     ..  Skipping non-emergency job "Unmount file systems." 
2022-09-01 - 01:23:09 [1]: void Calamares::ViewManager::onInstallationFailed(const QString&, const QString&)
    ERROR: Installation failed: "Bootloader installation error" 
2022-09-01 - 01:23:09 [6]:     .. - message: "Bootloader installation error" 
2022-09-01 - 01:23:09 [6]:     .. - details: The bootloader could not be installed. The installation command <pre>grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Manjaro --force</pre> returned error code 1.
2022-09-01 - 01:23:09 [6]: void Calamares::ViewManager::onInstallationFailed(const QString&, const QString&)
    Calamares will quit when the dialog closes. 
2022-09-01 - 01:23:09 [6]: void Config::doNotify(bool, bool)
    Notification not sent; completion: failed 

Just seen “grub-install: error: unknown filesystem.” this is why it fails?
I also saw “Successfully unmounted /tmp/calamares-root-6ru5m3t3/boot/efi.” I thought this had to be mounted for grub install?

When you get the error grub-install: error: unknown filesystem it is usually due to an oversight with custom partitioning.

It is easy to forget to select fat32 for the efi mount point as default is ext4 - I have done it more than a couple of times and I know the message - and what it means.

You will never get this error message using the installer’s default partitioning - only when you accidently uses ext4 for the efi parition.