[syslinux] EFI: HP + syslinux = crash
Patrick Masotta
masottaus at yahoo.com
Wed Aug 5 07:47:27 PDT 2015
--------------------------------------------
On Wed, 8/5/15, Oscar Roozen via Syslinux <syslinux at zytor.com> wrote:
Subject: Re: [syslinux] EFI: HP + syslinux = crash
To: "For discussion of Syslinux and tftp-hpa" <syslinux at zytor.com>
Date: Wednesday, August 5, 2015, 5:57 AM
>>>>
> Okay, the code in efi/ uses Print() from gnu_efi, but generic code from
> core/ like core/elflink/load_env32.c prints their messages and debugging
> stuff using printf(). These messages end up nowhere. This may explain
> why I never saw anything beyond a certain point, even with debugging
> turned on.
> <<<
>
> isn't it redirected at all??
No. If, for example, I change:
dprintf("Starting %s elf modulesubsystem...\n", ELF_MOD_SYS);
into regular printf(), I don't see the result in my ipmi-logs nor on my
screen. If I change it to Aprint() (and %s into %a) then I do see the message.
To make sure it isn't overwritten before I see it, I put a while(1) in
front, so it will end in an endless loop printing this message.
Maybe we need to explicitly redirect stdout and stderr to the console under EFI on some firmware?
<<<
This is a big issue. Probably lot of code doing this in EFI...mmmhhh
You can try redirecting printf to an empty function and see if it crashes the same way..
>>>
> Are you still loading PNGs?
> Have you tried vesamenu w/o a background image?
No
and yes. I removed all fancy stuff, leaving just:
LABEL
linux
KERNEL path/to/vmlinuz
IPAPPEND 3
APPEND initrd=path/to/initrd rdblacklist=nouveau
MENU LABEL ^AUTO -
Normal node boot
MENU DEFAULT
[.. some more
entries ..]
DEFAULT vesamenu.c32
PROMPT 0
TIMEOUT 50
MENU
TITLE Cluster Manager PXE Environment (EFI64)
With the default being either
vesamenu.c32 or menu.c32.
Using menu.c32 i can sucessfully boot this
kernel into a running system.
<<<
I would try with a minimalistic (1 entry) menu
>>>
See my message to Gene
a few minutes ago. My guess is that the problems
itself are not the reason to crash, but the
exit-code or error-reporting code is the one doing the crashing.
<<<
as I said before can you redirect printf to an empty function?
Best,
Patrick
More information about the Syslinux
mailing list