Overview

Request 1155093 accepted

- add source 20_memtest86
* replace similar file from package grub2
- don't install files in /boot. The OS needs to stay in /usr

Loading...

Thomas Renninger's avatar

-/boot/efi/EFI/memtest86/memtest.efi That would mean memtest would still be a grub/bootloader boot entry, but it would not be recognized by EFI/BIOS as a boot option anymore? I guess there is no other option if this has to move to /usr. Are there some docs why everything should/has to move to /usr...?


Giacomo Comes's avatar

About the move to /usr, I don't know if there is some documentation available. I guess it is in preparation for ALP. About memtest.efi in /boot/efi/EFI, is is always possible to copy it there with the post scriptlet, however, I never saw memtest as a option in the efi boot. Which package is supposed to add an entry using efibootmgr? And, by the way, if secure boot is enabled, memtest can be launched by grub2 but not directly by the efi boot, unless the openSUSE certificate/key are entered in the bios (which I don't know how to do it properly and I guess not many users do either).


Thomas Renninger's avatar

I would have preferred to remove the "+" in the directory name, but I guess it's too late now as the change is already applied in grub.

Which brings me to another issue: This change relies on (a specific version) of grub2. Would it be possible to add a: Requires: grub2 >= xy

If you install this (or a newer version of) memtest86+ on an older system, not having the grub2 change from SR#1140339, it will fail to boot?


Thomas Renninger's avatar

On the other hand there is no grub2 dependency yet anyway. So if people know what they do, they can install memtest86 without grub2 and boot it with whatever bootloader they want to which makes sense.

But in %post and %posttrans rpm section there is: %post %update_bootloader_check_type_refresh_post grub2 grub2-efi

%posttrans %update_bootloader_posttrans

Not sure whether installation will fail or whether one would get a warning/error if memtest86+ is installed on a system without grub2. It probably does not happen often, but thinking about it or trying it out would make sense.

I do not have a problem accepting this one, but I will add Michael as Reviewer as well to be aware of this.


Giacomo Comes's avatar
author source maintainer

Is there another bootloader, apart from grub2, that check for the presence of memtest86 and generates a boot menu entry like grub2 does? If the answer is yes, it can be updated to handle this change. If the answer is no, then there is nothing to worry about.


Giacomo Comes's avatar
author source maintainer

It is still possible to remove the "+" in the directory name. I can make that change in grub2 first and then modify this SR.


Michael Chang's avatar

IMHO /etc/grub.d/20_memtest86+ is better be part of memtest86+ package so change like this can easily be synchronized. The %update_bootloader_check_type_refresh_post grub2 grub2-efi' will check /etc/sysconfig/bootloader for the active boot loader type so that later%update_bootloader_posttrans' will not do anything if the result is not one of them.


Michael Chang's avatar

So to use other boot loader than grub2, they have to edit /etc/sysconfig/bootloader and set LOADER_TYPE="". The perl-bootloader will be taking care the rest by not taking care the rest. :)


Thomas Renninger's avatar

IMHO /etc/grub.d/20_memtest86+ is better be part of memtest86+ package

This sounds like a good idea/cleanup.

So if this is touched anyway: @gcomes.obs : Can you remove the memtest86+ grub config file/script, and place it into the memtest86+ package instead, please. By that the path can also be cleaned up to not have the special letter '+' in it...


Giacomo Comes's avatar
author source maintainer

I have submitted SR#1152324 in order to remove /etc/grub.d/20_memtest86+ from the grub2 package. Once accepted, I'll add it to memtest86+. @michael-chang: please have a look at boo#1218241. Such bug is about update-bootloader-rpm-macros and, indirectly, memtest86+.


Michael Chang's avatar

Meanwhile I've added some comments to boo#1218241, and the mysterious buildroot is really over my head.


Giacomo Comes's avatar

Since now memtest86+ is going to provide /etc/grub.d/20_memtest86, should I add in the spec file: Requires: grub2 or Suggest: grub2 ?


Michael Chang's avatar

I'd suggest not to add requires or suggests to grub2. The reason is that memtest86 can also be loaded by loaders other than grub2. In case of creating conflict to those packages (systemd-boot seemed to have conflict with grub2), it should avoid requiring specific boot loader.

It is fine to just package the hook, if grub2 is the active bootloader then it will run automatically (via the update_bootloader macros).


Request History
Giacomo Comes's avatar

gcomes.obs created request

- add source 20_memtest86
* replace similar file from package grub2
- don't install files in /boot. The OS needs to stay in /usr


Thomas Renninger's avatar

trenn accepted request

Thanks for getting through this and all the details!

openSUSE Build Service is sponsored by