[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