Bug 18508 - memtest86+ fails to run on UEFI system (unsupported)
Summary: memtest86+ fails to run on UEFI system (unsupported)
Status: RESOLVED INVALID
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal critical
Target Milestone: ---
Assignee: All Packagers
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-22 18:11 CEST by Barry Jackson
Modified: 2020-09-09 18:31 CEST (History)
7 users (show)

See Also:
Source RPM: memtest86+
CVE:
Status comment:


Attachments

Description Barry Jackson 2016-05-22 18:11:33 CEST
Description of problem:
Launching memtest86+ from a grub2 menu in UEFI fails to display the application's screen although the usual tones from the motherboard sounder are heard, so it's maybe running without display.
There are no errors in the grub2 terminal window after the launch message.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
Comment 1 Barry Jackson 2016-05-22 18:29:44 CEST
Hmm..

I just found this in 20_memtest86+ script in Fedora's package:

if [ -d /sys/firmware/efi ]; then
    echo "ERROR: memtest86+ does not support EFI platforms."
    exit 254
fi
Barry Jackson 2016-05-22 18:30:13 CEST

Summary: memtest86+ fails to run => memtest86+ fails to run on UEFI system

Comment 2 Marja Van Waes 2016-05-23 11:02:21 CEST
(In reply to Barry Jackson from comment #1)
> Hmm..
> 
> I just found this in 20_memtest86+ script in Fedora's package:
> 
> if [ -d /sys/firmware/efi ]; then
>     echo "ERROR: memtest86+ does not support EFI platforms."
>     exit 254
> fi

Assigning to all packagers collectively, since there is no maintainer for this package.

CC: (none) => marja11
Assignee: bugsquad => pkg-bugs

Comment 3 Barry Jackson 2016-05-23 12:45:37 CEST
OK I think I have a solution for this issue.

1. If we remove the "Recommends: memtest86+" from the grub2-efi sub-package in grub2 spec and move it to the main grub2 package (PC-BIOS only).

2. Add the scriptlet in #2 above to %pre in memtest86+ package then all should be well.

3. Add a note in memtest86+ description to say that it is incompatible with UEFI.

Grub2-efi will no longer request memtest86+ so it will not try to install it.
If an attempt is made to install memtest86+ on a UEFI system manually then it will fail.

e.g.
Preparing...                     ########################################################################################################
ERROR: memtest86+ does not support EFI platforms.
error: %prein(memtest86+-5.01-10.1.mga6.x86_64) scriptlet failed, exit status 1
ERROR: 'script' failed for memtest86+-5.01-10.1.mga6.x86_64
error: memtest86+-5.01-10.1.mga6.x86_64: install failed

Unfortunately due to https://bugs.mageia.org/show_bug.cgi?id=1670#c10 this second part may not be acceptable?

Barry
Comment 4 Barry Jackson 2016-05-23 12:52:03 CEST
Although this should not cause a transaction to fail as memtest+ would no longer be recommended in a situation where it would fail, so I think that a silent fail for an attempted manual install should be OK
Comment 5 Barry Jackson 2016-05-23 13:10:23 CEST
Hmm.. another issue:

drakx-installer-images BuildRequires: memtest86+ on all x86_64
--------snip--------
%ifarch %ix86 x86_64
BuildRequires: memtest86+
BuildRequires: grub
BuildRequires: syslinux >= 6.03-5
%endif
---------snip------

I'm out of ideas as I don't know where/when this is used.
Comment 6 Marja Van Waes 2016-05-23 13:17:27 CEST
(In reply to Barry Jackson from comment #5)
> Hmm.. another issue:
> 
> drakx-installer-images BuildRequires: memtest86+ on all x86_64
> --------snip--------
> %ifarch %ix86 x86_64
> BuildRequires: memtest86+
> BuildRequires: grub
> BuildRequires: syslinux >= 6.03-5
> %endif
> ---------snip------
> 
> I'm out of ideas as I don't know where/when this is used.

CC'ing tv and tmb, they'll know :-D

(In reply to Barry Jackson from comment #4)
> Although this should not cause a transaction to fail as memtest+ would no
> longer be recommended in a situation where it would fail, so I think that a
> silent fail for an attempted manual install should be OK

Yeah, I had to re-read bug 1670, but going by the information there, silently failing is the best option (at the moment!... I do hope it won't stay like this for ever, though ;-) )

CC: (none) => thierry.vignaud, tmb

Comment 7 Thomas Backlund 2016-05-23 13:37:36 CEST
(In reply to Marja van Waes from comment #6)
> (In reply to Barry Jackson from comment #5)
> > Hmm.. another issue:
> > 
> > drakx-installer-images BuildRequires: memtest86+ on all x86_64
> > --------snip--------
> > %ifarch %ix86 x86_64
> > BuildRequires: memtest86+
> > BuildRequires: grub
> > BuildRequires: syslinux >= 6.03-5
> > %endif
> > ---------snip------
> > 
> > I'm out of ideas as I don't know where/when this is used.
> 
> CC'ing tv and tmb, they'll know :-D
> 


It's done to provide possibility to run memtest direcly from iso when people have trouble installing and faulty memory is suspected.

Note that memtest96+ "works on uefi hw" as long as you boot with csm enabled so it can boot in legacy mode.

I'm thinking of packaging the nonfree memtest (http://www.memtest86.com/) as that one provides uefi support (the free edition has no licensing restrictions what so ever)
Comment 8 Thierry Vignaud 2016-05-23 14:39:21 CEST
From a quick test, it no longer works on legacy HW too...
Maybe a gcc5 issue...
Comment 9 Barry Jackson 2016-05-23 19:25:51 CEST
(In reply to Thierry Vignaud from comment #8)
> From a quick test, it no longer works on legacy HW too...
> Maybe a gcc5 issue...

It's still working here on an old pIII i586 (fully updated Cauldron) with grub2.
Comment 10 Thierry Vignaud 2016-05-23 19:40:05 CEST
I tested with grub legacy, both the regular build and the ELF one, both ends in reboot.
Thierry Vignaud 2016-05-31 14:07:35 CEST

See Also: (none) => https://bugs.mageia.org/show_bug.cgi?id=18261

Thierry Vignaud 2016-05-31 14:17:53 CEST

Summary: memtest86+ fails to run on UEFI system => memtest86+ fails to run on UEFI system (unsupported)

Ulrich Beckmann 2017-03-13 17:27:48 CET

CC: (none) => bequimao.de

Comment 11 Pierre Jarillon 2017-03-28 01:07:07 CEST
I have 2 PC, one with uefi and grub2
the other with legacy grub

memtest86+  (installed with urpmi) works fine with grub2 and just reboot with grub.

I have also tried the last Mageia-6-sta2-x86_64-DVD on another PC (Grub, no UEFI) it can only reboot the PC.

CC: (none) => jarillon

Comment 12 José Jorge 2017-03-28 21:23:34 CEST
(In reply to Thierry Vignaud from comment #10)
> I tested with grub legacy, both the regular build and the ELF one, both ends
> in reboot.

Yes, Memtest86+ 5 just reboots with most systems I have tried. The old 4 version still works, you can try it from the MGA3 medias. Anyway, I have found that we have much better now : simply boot the normal system adding "memtest" as kernel parameter : it disables automaticaly bad ram, allowing to boot directly. This is at the expense of boot time, something like 2 minutes for a slow system with a lot of RAM.

Maybe we could put a boot line using it instead of memtest86+?

CC: (none) => lists.jjorge

Javier Díaz 2020-03-17 11:12:54 CET

CC: (none) => javier_diaz

Comment 13 Aurelien Oudelet 2020-09-09 18:31:21 CEST
memtest86+ can't definitely run in UEFI mode on x86_64.

As a result we are setting this bug to RESOLVED:INVALID

Status: NEW => RESOLVED
Resolution: (none) => INVALID


Note You need to log in before you can comment on or make changes to this bug.