[syslinux] efi config hang
Carl Karsten
carl at personnelware.com
Thu Dec 6 21:57:18 PST 2018
On Thu, Dec 6, 2018 at 10:00 PM Ady Ady via Syslinux <syslinux at zytor.com> wrote:
>
> First, I'm confused. In the prior "whole" setup (the one you generated
> after my 15 steps, plus one workaround), was/is the basic boot menu at
> least "working" when you used the workaround for the buggy PATH
> directive when booting in UEFI mode? I mean:
>
> "PATH EFI/BOOT/SYSLINUX/EFI64/"
>
> in
>
> "target/EFI/BOOT/SYSLX64.CFG".
>
> It is not perfect, but at least it should show the boot menu in UEFI
> mode, and not hang immediately.
>
> Could you please confirm?
It did show the boot menu,
I can use the arrow keys to navigate the menu,
I can select the installer and it runs
If I select "Help" and enter, or tab and enter, it hangs.
help, tab, enter hang:
http://imgr.sytes.net/a/qemu_b3.png
And.. in trying to verify syslinx version, I have found another hang:
efi boot, see menu, hit ^c, hung.
legacy boot, ^c gets me a boot: prompt.
>
>
> Regarding the "prompt.cfg" you are now trying to investigate (which is
> not the one in boot.img), the following is (potentially) the first in a
> series of simple, iterative, progressive tests and feedback. And no,
> I'm not going to just write the ending/working result, in particular
> when I don't know/understand the new goal.
prompt.cfg is the Help option from the debian installer boot.img.
>
>
> If we don't know what is wrong/failing, then we need "basic" step by
> step testing (iterations) for troubleshooting.
>
> Using 6.04~git20171011.af7e95c3+dfsg1-6 packages from Debian Unstable
> for all syslinux-related files.
>
> target
> └── EFI
> └── BOOT
> ├── BOOTX64.EFI
> ├── LDLINUX.E64
> ├── libcom32.c32
> ├── libutil.c32
> ├── vesamenu.c32
> ├── pwd.c32
> ├── ls.c32
> ├── cat.c32
> └── SYSLX64.CFG
target
└── EFI
└── BOOT
├── BOOTX64.EFI
├── cat.c32
├── LDLINUX.E64
├── libcom32.c32
├── libutil.c32
├── ls.c32
├── pwd.c32
├── SYSLX64.CFG
└── vesamenu.c32
>
> All in the same dir, we don't change WD, we don't mix it with BIOS, we
> don't need the crappy PATH directive.
>
> ### EFI/BOOT/SYSLX64.CFG start ###
>
> # Note that there is no "splash.png" background
>
> # This is a command
> UI vesamenu.c32
>
> # The DEFAULT should rather be a label, not a command
> DEFAULT vesamenulabel
>
> # If we have an active ("uncommented") UI directive,
> # then the PROMPT directive makes no diff.
> # This command is here anyway, in purpose.
> PROMPT 1
>
> # Let's try to clear the screen when we load the menu
> MENU CLEAR
>
> LABEL vesamenulabel
> COM32 vesamenu.c32
>
> LABEL pwdlabel
> COM32 pwd.c32
/EFI/BOOT/
>
> LABEL lslabel
> COM32 ls.c32
>
[dir] . LDLINUX.E64 libcom32.c32 menu.c32
boot: BOOTX64.EFI cat.c32 ls.c32l.c32 pwd.c32
> LABEL catlabel
> COM32 cat.c32
> APPEND /EFI/BOOT/SYSLX64.CFG
>
(dumps this file to the screen)
> # To be tested from the boot prompt, using a different label
> LABEL vesamenulabel2
> COM32 vesamenu.c32
> APPEND SYSLX64.CFG
^c
screen clears
system seems to hang.
I see no cursor, enter, ^v, nothing seems responsive.
>
> ### EFI/BOOT/SYSLX64.CFG end ###
>
> The result might not be a nice, readable screen, but it should not hang
> nor give errors about vesamenu.c32.
>
> Could you please confirm this (too)?
>
> Could you also please try the "equivalent" (not exactly the same, but
> similar) to the above simple UEFI-only setup in a separate BIOS-only
> case? I hope by now you can see which small details are relevant in
> order to "translate" from one platform to the other.
copied the files from bios into $target/boot/syslinux/
copied/renamed the .cfg file (no changes needed)
cp \
/usr/lib/syslinux/modules/bios/vesamenu.c32 \
/usr/lib/syslinux/modules/bios/libcom32.c32 \
/usr/lib/syslinux/modules/bios/libutil.c32 \
/usr/lib/syslinux/modules/bios/ls.c32 \
/usr/lib/syslinux/modules/bios/cat.c32 \
/usr/lib/syslinux/modules/bios/pwd.c32 \
$target/boot/syslinux/
cp $target/EFI/BOOT/SYSLX64.CFG $target/boot/syslinux/syslinux.cfg
sudo extlinux --install $target/boot/syslinux/
differences:
^c drops me to a boot: prompt, enter takes me back.
efi: locks up.
legacy: pwd, ls and cat all have a slightly better console:
the screen clears to black and the cursor homes:
http://imgr.sytes.net/a/qemu_b5.png
efi: it didn't clear and cursor is where it left off,
http://imgr.sytes.net/a/qemu_b4.png
which may be below the bottom of the screen.
the cat ... SYSLX64.CFG runs off the bottom of the screen.
http://imgr.sytes.net/a/qemu_b6.png
hitting enter brings back the menu.)
>
> Regards,
> Ady.
>
> PS: I am also hoping that the expectations are not to build a whole new
> set of cfg files with all-working features for D-I here in the Syslinux
> Mailing List (especially when developers upstream and downstream don't
> care). Debian has been dropping support for Syslinux for years (from
> installation/update scripts, themes and what not), and the same goes
> for most distros and for The Syslinux Project itself, and nobody wanted
> to "invest" the time when it was still relevant (with very few
> exceptions, too-few).
The existing legacy menus and help is fine, I would hope I can leave
it mostly in place as it is.
>
> _______________________________________________
> Syslinux mailing list
> Submissions to Syslinux at zytor.com
> Unsubscribe or set options at:
> http://www.zytor.com/mailman/listinfo/syslinux
--
Carl K
More information about the Syslinux
mailing list