This request is superseded by
request 1155093
(Show diff)
Overview
Request 1140728 superseded
- Apply again change from Mar 13:
don't install files in /boot. The OS needs to stay in /usr
* grub2 is now able to boot memtest86 from /usr (SR#1140339)
- Created by gcomes.obs
- In state superseded
- Package maintainer: trenn
- Superseded by 1155093
- Open review for michael-chang
Loading...
Request History
gcomes.obs created request
- Apply again change from Mar 13:
don't install files in /boot. The OS needs to stay in /usr
* grub2 is now able to boot memtest86 from /usr (SR#1140339)
trenn added michael-chang as a reviewer
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?
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.
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.
It is still possible to remove the "+" in the directory name. I can make that change in grub2 first and then modify this SR.
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.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. :)
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...
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+.
Meanwhile I've added some comments to boo#1218241, and the mysterious buildroot is really over my head.
Since now memtest86+ is going to provide /etc/grub.d/20_memtest86, should I add in the spec file: Requires: grub2 or Suggest: grub2 ?
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).
@trenn: review reminder