Memtest86+-efi not installing properly

HI,
I was always using aur/memtest86-efi 1:10.6build3000-2 in the past. Now I want to switch to extra/memtest86+ 6.20-1. But this does not install properly in my environment.

It puts the efi file in /boot/memtest86+/memtest.efi. But in my environment it should be in /boot/EFI/memtest86+/memtest.efi

I checked the PKGBUILD (here https://gitlab.archlinux.org/archlinux/packaging/packages/memtest86plus) and it has the /bootprefix hardcoded.

install -Dm644 memtest.efi "$pkgdir"/boot/memtest86+/memtest.efi

There is no way that this PKGBUILD would install stuff in /boot/EFI. When I copy the files manually to /boot/EFI the tool works fine.

Is this an issue with the package or is this an issue with my setup? What is wrong with /boot/EFI? systemd-boot and dracut work just fine with this setup.

memtest86+ is for BIOS, not EFI.

https://wiki.archlinux.org/title/Stress_testing#MemTest86+

Try to install sudo pacman -S memtest86+-efi

He already is using that:

@mbod
many tools still put their bootloader-relevant stuff in /boot because that is where all the grub configs look for them. For memtest it could be changed in packaging by modifying the line you quoted but not sure when or if that will happen.
The best way to mitigate that is to mount your esp partition to /boot so that the default for grub also works for systemd-boot.
Personally, I also use /boot/efi for esp due to historical reasons and just copy stuff around after an update - but my next installs will definitely have their esp at /boot - maybe I will even migrate my existing installs at some point if it annoys me enough.

Neither. Arch has historically hard-installed images to /boot. There have been conversations about changing that but I don’t think they have ever gone anywhere.

One easy solution would be to add a hook to copy it where you want it to be.

The post deleted


It seems a typo by @mbod

Of course. My fault. I am using extra/memtest86+-efi 6.20-1

I am already doing that. My fstab says:

UUID=4F01-46D8 /boot vfat umask=0077 0 2

but /boot contains a subdirectory EFI/

╭─[root@rakete] /boot
╰─# ll
insgesamt 16K
drwx------ 6 root root 4,0K 2024-01-07@08:06  4bd88beaa35549b592xxx
drwx------ 6 root root 4,0K 2024-01-08@13:25  EFI
drwx------ 3 root root 4,0K 2024-01-08@13:34  loader
drwx------ 2 root root 4,0K 2022-10-28@09:09 'System Volume Information'

And this EFI directory is where all the efi files are and where I have to put the memtest86+/ folder

╭─[root@rakete] /boot/EFI
╰─# fd      
BOOT/
BOOT/BOOTX64.EFI
Linux/
memtest86+/
memtest86+/memtest.efi
systemd/
systemd/systemd-bootx64.efi

what is in your memtest config file in loader/entries/ ?

This file is missing from extra/memtest86+-efi
I created it myself based on what I got for aur/memtest86-efi 1:10.6build3000-2 it is:

title MemTest86
efi   /EFI/memtest86+/memtest.efi

… oh wait …

I could simply change the path:

efi /memtest86+/memtest.efi

and then the package is just fine. I will give it a try right away.

That was it. That works. The package is fine as it is. It is just my loader file that needed a tweak.

@BS86 : Thanks for asking the right question. Sometimes you are so caught up in a routine that you don’t see the simplest things.

1 Like

yeah, it installs the grub config only.

no problem, glad you got it working :wink:

version 7.0 is coming

1 Like

it is already out there.

extra/memtest86+-efi 7.00-1