EFI3M, the EFI Multi-boot Menu Maker

Introduce yourself, create test postings or talk nonsense
DidierSpaier
Posts: 282
Joined: 20. Jun 2016, 20:15

Re: EFI3M, the EFI Multi-boot Menu Maker

Post by DidierSpaier » 19. Jun 2018, 23:06

I have found a culprit, booting on bare metal off the USB key written under Salix in a VM.

The culprit is the grub-mkimage binary shipped in grub-2.0 in Salix-Xfce-14.2.

It builds a file BOOTx64EFI that leads to this message from elilo that I can see on my laptop (I edited the path and the UUID in grub.conf in the USB stick to be those of elilo that starts Slint):

Code: Select all

fileops.c(line 525):No devnames scheme worked, using builtin.

forcing interactive mode due to config file error(s)

ELILO boot: ......................
Of course elilo doesn't boot, it just endlessly dots to the last line.

However, if I just replace /mnt/EFI/BOOT/BOOTx64.EFI by /boot/efi/EFI/BOOT/BOOTx64.EFI built with grub-mkimage from grub-2.02 (that I will ship in next Slint ISO), booting occurs with no issue and Slint starts!

I can't provide any explanation of the interference of the grub version with the behavior of elilo (using the same grub.cfg and the same elilo.conf) but there is one.

It's too late here to continue testing now, but tomorrow I will upgrade grub in Salix in the VM and see if I can confirm this.

Best,

Didier

User avatar
laprjns
Salix Warrior
Posts: 1027
Joined: 28. Aug 2009, 01:30
Location: Connecticut USA

Re: EFI3M, the EFI Multi-boot Menu Maker

Post by laprjns » 20. Jun 2018, 01:13

DidierSpaier wrote:
19. Jun 2018, 23:06
The culprit is the grub-mkimage binary shipped in grub-2.0 in Salix-Xfce-14.2.
I confirmed this here. Had a working rescue USB stick that was made using EFI3M and the Slint grub package installed. Remove the Slint grub package, install the Salix package them made a rescue USB stick with EFI3M and use it to boot Salix via elilo and got the dots.
can't provide any explanation of the interference of the grub version with the behavior of elilo (using the same grub.cfg and the same elilo.conf) but there is one.
I got the failed elilo boot (dots) on both my Slint and Salix installs when trying to boot them via elilo. In both cases there appeared to be a problem with the path to the elilo.conf file that BOOTx64.efi was using. There are some funky characters in the path between the last directory (i.e Salix-xfce-14.2) and the file name (i.e elilo.conf) Looked something like this

Code: Select all

EFI/Salix-xfce-14.2$$elilo.conf 
EFI/Slint$$elilo.conf
I've seen this dot thing before, but I really never use the Salix grub packages until just recently

DidierSpaier
Posts: 282
Joined: 20. Jun 2016, 20:15

Re: EFI3M, the EFI Multi-boot Menu Maker

Post by DidierSpaier » 20. Jun 2018, 13:34

OK, after more testing on Salix, Slint and Slackware, the conclusion is simple: grub-2.02 is needed by EFI3M to allow chain loading elilo boot loaders.

Thanks mimosa and laprjns.

@gapan: I suggest upgrading grub for Salix-14.2. As far as I can tell this is safe.

@djemos: I didn't try on Slackel yet, but I assume that there will be no issue as you already ship grub-2.02.

djemos
Salix Warrior
Posts: 1034
Joined: 29. Dec 2009, 13:45
Location: Greece

Re: EFI3M, the EFI Multi-boot Menu Maker

Post by djemos » 20. Jun 2018, 14:35

You are very speed :-)
I was just connected to write about solution here and i saw your post.
On slackel there is no problem, because grub-2.02 version exists in slackel repos.
I did a clean installation of salix64-xfce-14.2.1 from live iso in wmware and problem appeared. After compiled grub-2.0.2 everything worked fine.
So grub2.02 binary and source package for salix-xfce 64 bit is here for anyone wants to upgrade.
If someone has salix-xfce 32 bit installed please download everything from grub-2.02 folder and run

Code: Select all

 fakeroot slkbuild
to create the 32bit package. Because i have to download, install in vmware salix-xfce 32 bit and build the package. If no one has a salix-xfce 32 bit installation then i will do it. Thanks.

User avatar
mimosa
Salix Warrior
Posts: 3019
Joined: 25. May 2010, 17:02
Contact:

Re: EFI3M, the EFI Multi-boot Menu Maker

Post by mimosa » 20. Jun 2018, 19:40

I confirm that works for me. I installed djemos's grub package, ran the script again to make the USB, and successfully booted from it.

DidierSpaier
Posts: 282
Joined: 20. Jun 2016, 20:15

Re: EFI3M, the EFI Multi-boot Menu Maker

Post by DidierSpaier » 12. Jul 2018, 23:10

Hello,

I just uploaded an new version of EFI3M on GitHub:
https://github.com/DidierSpaier/EFI3M

You can get it typing:
wget https://raw.githubusercontent.com/Didie ... ster/EFI3M

This will download the shell script EFI3M that should be run as root.

Enhancements:
I have checked that script can be used with speech using orca.

This is also true on the console using espeakup, only moving a boot entry up or down while reordering the boot entries is not spoken, I don't know why.

Reordering the boot entries is now simpler: just select a boot entry typing its number, then move it with the up or down arrow key. the corresponding line will be distinguished from the others by a * as first character.

I will just paste below the second page of the requirements and features as displayed by the script itself as it details the sound features:

<quoted page below>
Requirements:
GRUB version at least 2.02 should be installed, as well as usual
utilities found in pretty much any Linux distribution.

Sound aid for the visually impaired:
After booting, navigate in the menu with the up and down arrow keys.
If brltty, espeakup or orca is active when EFI3M is run:
1) A Beep is emitted as soon as the menu is displayed.
2) When pressing Enter on the menu entry n (numbered from the top of
the menu), a tune of n sounds is played. The user can then confirm
this choice pressing Enter (the same tune is then played again) or go
back to the top of the menu pressing the Esc key.
3) The same apply to the the last entries, Halt and Reboot. A descending
arpeggio is played for Halt, a descending followed by an ascending
arpeggio for Reboot. Again, confirm with Enter or cancel with Esc.

The sound can also be set afterwards: type 4 in the main menu of EFI3M,
then M for Mute or S for Sound, and validate the setting typing V.

To apply the modification to an USB stick you will need to write again
the menu on it, typing 3 in the main menu.
<quoted page ended above>

For those who tried a previous version and as some file names have changed you may want to remove the stale files with the script remove-efibootmenu before running the new EFI3M:

get it with this command then:
wget https://raw.githubusercontent.com/Didie ... fibootmenu

Best regards,

Didier

Post Reply