[SOLVED] slackware current efibootmgr not supported anymore?
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Well, I guess no one wants to try to downgrade eudev or elogind to see if efivars needs to be mounted manually after that. I would have done it but I don't use UEFI.
/sys/firmware/efi/efivars is only referenced in packages efivar, elilo, elogind, and mdadm. And only elogind has a recently changed version.
Well, I have tested and the downgrading to (previous) elogind 246.10 makes that /sys/firmware/efi/efivars to be mounted automatically, hence the efibootmgr to work out of box.
HOWEVER, with the current elogind 252.9 even by rebuilding with -Defi=true will not change the behavior noted in this thread. Seems like they have removed that ability to automatically mount the /sys/firmware/efi/efivars, while now I am quite sure that previously this was done by elogind.
BTW, seems like the minimal changes required is the line in the /etc/fstab at boot time - there is no really needed to load (manually) the efivarfs module.
I do not think so. In fact, even I do not believe that's the elogind's business to mount automatically that efivarfs from /sys.
Yeah, probably there was some fallback code inherited from systemd, which code was active in the previous elogind versions, and if anything, seems more rationale this fallback code to go eventually on eudev, also split from systemd.
HOWEVER, I sincerely doubt that Slackware should rely on some fallback code from a daemon which has no business with handing the /sysfs.
Seriously, the ways how Slackware handles those UEFI things (and the UEFI boot) can't be described with other word than "patchwork"
Honestly, I for one, I do not believe that our BDFL uses UEFI-based computers, otherwise he would have noticed those many issues with the UEFI management on Slackware. He's stuck on that AMD AM3 Phenom II x6 computer and that's all folks!
BTW, not that I am against those AMD AM3 CPUs, also myself I own several computers with CPU like this, and I believe that they are quite decent even today. However, I believe that that UEFI isn't anymore something which can be graciously ignored.
Last edited by LuckyCyborg; 05-23-2023 at 04:22 AM.
Maybe the efivars directory is not mounted? Try this first (as root):
Code:
mount -t efivarfs none /sys/firmware/efi/efivars
Quote:
Originally Posted by LuckyCyborg
In fact, even I do not believe that's the elogind's business to mount automatically that efivarfs from /sys.
...
I sincerely doubt that Slackware should rely on some fallback code from a daemon which has no business with handing the /sysfs.
Correct. Installation instructions for the kernel upgrade:
Code:
If using elilo:
Ensure that the /boot/vmlinuz symlink is pointing to the kernel you wish
to use, and then run eliloconfig to update the EFI System Partition.
/usr/sbin/eliloconfig, lines 179-185:
Code:
# Make sure efivarfs is active since we'll need it to
# change UEFI boot menu entries:
if [ "$(/bin/ls /sys/firmware/efi/efivars 2> /dev/null | wc -l)" = "0" ]; then
mount -t efivarfs none /sys/firmware/efi/efivars
fi
efibootmgr ...
Last edited by Petri Kaukasoina; 05-23-2023 at 03:49 AM.
Correct. Installation instructions for the kernel upgrade:
Code:
If using elilo:
Ensure that the /boot/vmlinuz symlink is pointing to the kernel you wish
to use, and then run eliloconfig to update the EFI System Partition.
/usr/sbin/eliloconfig, lines 179-185:
Code:
# Make sure efivarfs is active since we'll need it to
# change UEFI boot menu entries:
if [ "$(/bin/ls /sys/firmware/efi/efivars 2> /dev/null | wc -l)" = "0" ]; then
mount -t efivarfs none /sys/firmware/efi/efivars
fi
efibootmgr ...
Seriously? What happened with the slogan yelled in my face by some angry Slackers? If I remember right, it was "Slackware gives you the choice" ? So, the "choice" is between that broken ELILO and itself as alternative?
No, Sir! The stupid me believes that that particular snippet which mounts efivars eventually should go on /etc/rc.d/rc.S with some kind of check that the machine was booted on UEFI mode.
Heck, even dmesg | grep -i "EFI" is enough to check in the init scripts that the machine is on UEFI mode.
Last edited by LuckyCyborg; 05-23-2023 at 04:22 AM.
Prompted by Hazel's post, I've just taken a look at my current install and found that I have both the module loaded, and the efivarfs mounted despite it not being in fstab, and I can see nothing in rc.d/* or /lib/udev/rules.d/* that references efivar.
...
I used to leave it unmounted to prevent accidents. No idea when this changed.
Quote:
Originally Posted by GazL
it was my slackware64-current using Pat's generic kernel.
I've just booted into CRUX,
...
... and neither the module nor the efivarfs is being mounted automatically.
Quote:
Originally Posted by GazL
OFFS!... found it. It's that elogind piece of crap that's doing it!
Quote:
Originally Posted by GazL
Yeah, looks like the best I can do is add these to my fstab to beat elogind to mounting it 'rw'.
I do not have a UEFI system, so no way to test, but I am wondering whether the changes starting at line 15 in 60-persistent-storage.rules in eudev-3.2.12 may be affecting the mounting of the EFI partition.
I prefer eudev no longer auto-mounting efivarfs. Hopefully this is an intended change by eudev that was overlooked in the changelog and not a bug.
And how you survived up to Slackware 14.2 where the /sys/firmware/efi/efivars was NOT a mountpoint, BUT just a /sys folder?
I believe in your freedom to broke your own system as you want, and even in your freedom to modify your rc.d scripts to require to hit ENTER 100 times for a successful boot, BUT from Slackware I for one I expect "consistency" and this mean the system to not have a broken state by default.
That's WHY I expect from Slackware to ship a solution where is no need to manually intervene or tune on system for using grub-install or this efibootmgr. And I will prefer a fully functional elogind.
IF they want to hear people like you, there are always ways to use switches which disable a consistent behavior, i.e. a config file into /etc/default, BUT I see no reason for Slackware to be broken by default.
Last edited by LuckyCyborg; 05-23-2023 at 11:32 AM.
I do not have a UEFI system, so no way to test, but I am wondering whether the changes starting at line 15 in 60-persistent-storage.rules in eudev-3.2.12 may be affecting the mounting of the EFI partition.
Nope, it was elogind which did in the past this mounting of /sys/firmware/efi/efivars .
I suppose that happened as a fallback behavior, because elogind needs to read some information from efivars.
Last edited by LuckyCyborg; 05-23-2023 at 11:23 AM.
With all respect, I do not use CRUX and I do not see it as an example to follow - excluding that old lament, which was certainly valuable at its time: "Even CRUX has LinuxPAM!"
I for one I look for what Ubuntu, openSUSE or Fedora do.
Last edited by LuckyCyborg; 05-23-2023 at 11:37 AM.
22 updates (x86_64). Including a (* Security fix *)! : 17 upgraded, 5 rebuilt
Code:
Thu May 25 00:24:33 UTC 2023
a/elilo-3.16-x86_64-16.txz: Rebuilt.
eliloconfig: don't mess with mounting efivarfs. This should be handled by
rc.S, or by whatever the admin put in /etc/fstab.
a/sysvinit-scripts-15.1-noarch-5.txz: Rebuilt.
rc.S: mount efivarfs rw, may be overridden in /etc/default/efivarfs.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.