[syslinux] Boot Loop in efi

Ady ady-sf at hotmail.com
Mon Jun 22 12:36:12 PDT 2020


> Thanks for the hints - I have NOT CONFIG_EFI enabled - do I need this actually?
> I do not know which variables I need to boot... The kernel APPEND parameters are
> sufficient for me... And the relocatable config is set already.
> 
> .. I enabled the EFI kernel config parts - no change... the console prints:
> 
> Booting System...
> Loading linux... ok
> Loading iramfs.gz...ok
> 
> [then reboot]
> 
> My syslinux.cfg is pretty simple:
> DEFAULT linux
> LABEL linux
>   SAY Booting System...
>   KERNEL linux
>   APPEND initrd=iramfs.gz apic=debug lapic acpi=ht consoleblank=0 vga=1
> TIMEOUT 1
> 
> I didn't find any documentation on the syslinux page for "linuxefi" command -
> where is this documented?
> 
> Or is there a "default" syslinux.cfg for efi that I could use as a template?
> 
> I also moved the iramfs.gz to the separate INITRD command - still no change.
> 
> Any further hints? How can I debug this?
> I also change the vga=1 to vga=0 - without and effect...
 
 
First, please _avoid_ top-posting.

I would suggest:

1_ Completely ignore the comment about some "linuxefi" command; it does _not_ 
exist in Syslinux.

2_ Change the /EFI/BOOT/syslinux.cfg file to:

DEFAULT linux
PROMPT 0
TIMEOUT 1
SAY Booting System...
LABEL linux
 LINUX linux
 INITRD iramfs.gz
 APPEND (the APPENDing options are up to you)

Please note that, for this cfg to work, the "linux" file (i.e. the kernel) and 
the "iramfs.gz" file should be located in the same "/EFI/BOOT/" directory as 
the "syslinux.cfg" file. Also the UEFI bootloader and the modules should be 
located in the same directory, and this directory should be located within the 
EFI System Partition (ESP).

3_ The Linux kernel requires to be built with adequate config options for UEFI. 
The same (and more) is true for booting with mixed bitness under UEFI. 
Otherwise, it is no surprise if it fails to boot under UEFI (+ mixed bitness).

4_ Instead of using Syslinux 6.03, it is strongly recommended to test at least 
6.04-pre1, especially when 6.03 fails. You _might_ have luck with pre2 and/or 
pre3, but the basic test should include pre1. Several Linux distributions 
already have 6.04-pre1 binaries, with additional patches already applied. 
Please remember not to mix binaries from different versions / builds.

Regards,
Ady.


More information about the Syslinux mailing list