[syslinux] EFI: HP + syslinux = crash [ brown paper bag update ]

Oscar Roozen
2015-08-10T16:36:45Z

Updating myself again:

On 07-08-15 16:03, Oscar Roozen wrote:
 > e466d24 still has an issue with png's in vesalinux causing crashes

I can confirm this remaining crash is caused by the line "MENU
BACKGROUND bootlogo.png".

The original bootlogo.png is 640x480. Forcing the videomode with "MENU
RESOLUTION 640 480" did not resolve the crashes, nor did resizing the
png to 1024x768 and forcing the mode to that size. If anyone wants to
test or just admire this exact bootlogo.png, it is available for
download at https://okkie.nu/tmp/bootlogo.png.

What did work, was resaving the logo as a jpg. This boots just fine.

According to the debug info, both videomodes initialized okay. The crash
happens later. See these snippets of debug() output:

[640x480]
| Opening config file: pxelinux.cfg/category.default open_file
pxelinux.cfg/category.default
| searchdir: pxelinux.cfg/category.default  root: 0x0000000000000000
cwd: 0x0000000000000000
| PXE: file = 0x00000000772faaf8, retries left = 0: ok
| ok
| Hello, World! (initvesa.c)
| Hello, World! (vesa.c)
| mode 0 version 0 pixlfmt 1 hres=1024 vres=768
| mode_num = 0 query_status 0
| mode 0 hres=640 vres=480
| BGR8bit bpp 32 pixperScanLine 640 logical_scan 2560 bytesperPix 4
| Success setting mode 0
| Mode set, now drawing at 0x0000000091000000
| Ready!
| open_file bootlogo.png
| searchdir: bootlogo.png  root: 0x0000000000000000  cwd: 0x0000000000000000
| PXE: file = 0x00000000772faaf8, retries left = 0: ok
|  ^@ProLiant System BIOS P89 v1.40 (05/06/2015)
| (C) Copyright 1982 - 2015 Hewlett-Packard Development Company, L.P.


[1024x768]
| Opening config file: pxelinux.cfg/category.default open_file
pxelinux.cfg/category.default
| searchdir: pxelinux.cfg/category.default  root: 0x0000000000000000
cwd: 0x0000000000000000
| PXE: file = 0x00000000772faaf8, retries left = 0: ok
| ok
| Hello, World! (initvesa.c)
| Hello, World! (vesa.c)
| mode 0 version 0 pixlfmt 1 hres=1024 vres=768
| mode_num = 0 query_status 0
| mode 0 hres=640 vres=480
| mode_num = 1 query_status 0
| mode 1 hres=800 vres=600
| mode_num = 2 query_status 0
| mode 2 hres=1024 vres=768
| BGR8bit bpp 32 pixperScanLine 1024 logical_scan 4096 bytesperPix 4
| Success setting mode 2
| Mode set, now drawing at 0x0000000091000000
| Ready!
| open_file bootlogo1024.png
| searchdir: bootlogo1024.png  root: 0x0000000000000000  cwd:
0x0000000000000000
| PXE: file = 0x00000000772faaf8, retries left = 0: ok
|  ^@ProLiant System BIOS P89 v1.40 (05/06/2015)

Setting the mode succeeds. The crash (reboot in this case) seems to
happens during or after loading the PNG.

Here is a succesfull load of the bootlogo1024.jpg:
| BGR8bit bpp 32 pixperScanLine 1024 logical_scan 4096 bytesperPix 4
| Success setting mode 2
| Mode set, now drawing at 0x0000000091000000
| Ready!
| open_file bootlogo1024.jpg
| searchdir: bootlogo1024.jpg  root: 0x0000000000000000  cwd:
0x0000000000000000
| PXE: file = 0x00000000772faaf8, retries left = 0: ok
| kernel is images/default-image/vmlinuz, args =
initrd=images/default-image/initrd  rdblacklist=nouveau [...]

Even with vesa debugging turned on, this is all I can see.  The kernel
line only appears after I select a menu entry of course.

For me this has a very low priority, as the jpg workaround is just fine.
But maybe somebody wants to dig deeper, just bug me if you want more
feedback.

 > Is it time to update the official repository yet? ;-)

Yeah! Found it at git://repo.or.cz/syslinux.git :-)