FS#33692 - [grub-efi-x86_64] - Cannot boot memtest86+

Attached to Project: Arch Linux
Opened by John (graysky) - Sunday, 03 February 2013, 19:59 GMT
Last edited by Tobias Powalowski (tpowa) - Monday, 17 June 2013, 10:12 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Ronald van Haren (pressh)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description: The EFI version of grub cannot boot extra/memtest86+... at least with the included /etc/grub.d/20_memtest86+ which asks grub to use 'linux16' which is not compatible with EFI as I understand it.

I searched and found the following which claims that it is fixed, but I don't think it is based on my experience:
https://bugs.archlinux.org/task/22993


Additional info:
* package version(s) 2.00-1

Steps to reproduce:
*Install extra/memtest86+ on a functional grub-efi-x86_64 machine.
*Update grub's config file.

The aforementioned script will add the entry to /boot/grub/grub.cfg which calls for 'linux16' to launch memtest86+ but grub will throw the error, "Command not found: linux16" and drop the user back to the grub menu.

For reference, I have attached the relevant section of my grub.cfg (auto generated):

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" --class memtest86 --class gnu --class tool {
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 da909177-3dfd-44ca-8416-be0fb605c971
else
search --no-floppy --fs-uuid --set=root da909177-3dfd-44ca-8416-be0fb605c971
fi
linux16 ($root)/memtest86+/memtest.bin
}
### END /etc/grub.d/20_memtest86+ ###
This task depends upon

Closed by  Tobias Powalowski (tpowa)
Monday, 17 June 2013, 10:12 GMT
Reason for closing:  Fixed
Additional comments about closing:  2.00-4
Comment by John (graysky) - Sunday, 03 February 2013, 20:03 GMT
According to this, the memtest86+ developer comments that this is not the fault of grub, but of EFI. Basically, we should remove the ability to boot memtest from grub_efi_x86_64 unless there is a work around: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=695246
Comment by Keshav Amburay (the.ridikulus.rat) - Saturday, 09 February 2013, 16:32 GMT
I made a better /etc/grub.d/20_memtest86+ file. This one will add the entry to grub.cfg but will show up only if grub-bios is booted. But I think this file should be part of memtest86+ pkg rather than grub-common package.

EDIT: BTW just for everyone's info memtest86+ is not programmed for UEFI systems so it will work only in BIOS mode irrespective of any bootloader used. I don't currently know of any EFI bootable memtest file/project.
Comment by Keshav Amburay (the.ridikulus.rat) - Wednesday, 20 February 2013, 14:07 GMT
I have slightly modified the file again to incorporate https://bugs.archlinux.org/task/30770 and renamed it to 60_memtest86+ so that memtest entry comes after the kernel menuentries in grub.cfg .

Loading...