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... Best regards, Erik Gregory Bartholomew wrote:> On Mon, Jun 22, 2020 at 11:36 AM Erik Rull via Syslinux <syslinux at syslinux.org > <mailto:syslinux at syslinux.org>> wrote: > > ... > > ? > > The system starts booting, loads kernel and initrd (I see the loading output on > the screen), but then the system resets and the loop restarts (infinitely). > > I took the same syslinux.cfg, linux and initrd as for the BIOS boot. > > Am I missing something? It does not look as if the kernel actually starts (no > output after the load-lines). > > One thing that I'm confused of - maybe this is related? > I can only get the 64 bit efi files running, but my kernel is 32 bit. No way > getting the 32 bit efi files to start, even when trying it over the UEFI shell, > it complains that the file is not in the right format. > > ? > ... > > Did you find the following troubleshooting page?: > > https://wiki.syslinux.org/wiki/index.php?title=Common_Problems > > In particular, there is a section at the end that looks similar to your problem. > > I'm not familiar with the problem. You might try some variations on the command > you are using to load the kernel (e.g. try using "linuxefi" instead of the > "linux" or "kernel" command).?
While I don't have a lot of experience with EFI systems, I've done a few and can say that I use the same pxelinux.cfg files for BIOS and EFI without needing to change anything inside the .cfg files themselves. It seems like if the kernel and initrd are being loaded, then there's a chance SYSLINUX has done its job and the problem happens afterwards. You mentioned version 6.03 earlier -- I'd suggest trying the 6.04-pre1 SYSLINUX precompiled distribution. That helped with my PXELINUX installs where 6.03 wouldn't always handle some EFI's -- you might find it helps with your SYSLINUX attempt too. Your kernel is 32bit, but you're using 64bit EFI? Is your PC system hardware natively 64bit? Which syslinux.efi loader from the SYSLINUX distribution are you using? FYI for my PXELINUX EFI installs I use the syslinux.efi binary from the ./efi64/efi/ subdirectory of the SYSLINUX 6.04-pre1 bundle. Changing "APPEND initrd=..." to separate APPEND and INITRD lines is semantically equivalent according to the docs, and my experience agrees. I do like having the separate INITRD line these days, as it can help with automating changes over a set of *.cfg files. Cheers, sr. On Mon, Jun 22, 2020 at 08:38:03PM +0200, Erik Rull via Syslinux wrote:> 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... > > Best regards, > Erik > > > Gregory Bartholomew wrote: > > On Mon, Jun 22, 2020 at 11:36 AM Erik Rull via Syslinux <syslinux at syslinux.org > > <mailto:syslinux at syslinux.org>> wrote: > > > > ... > > The system starts booting, loads kernel and initrd (I see the > > loading output on the screen), but then the system resets and > > the loop restarts (infinitely). > > > > I took the same syslinux.cfg, linux and initrd as for the BIOS > > boot. > > > > Am I missing something? It does not look as if the kernel > > actually starts (no output after the load-lines). > > > > One thing that I'm confused of - maybe this is related? I can > > only get the 64 bit efi files running, but my kernel is 32 bit. > > No way getting the 32 bit efi files to start, even when trying > > it over the UEFI shell, it complains that the file is not in the > > right format. > > > > ?? > > ... > > > > Did you find the following troubleshooting page?: > > > > https://wiki.syslinux.org/wiki/index.php?title=Common_Problems > > > > In particular, there is a section at the end that looks similar to > > your problem. > > > > I'm not familiar with the problem. You might try some variations on > > the command you are using to load the kernel (e.g. try using > > "linuxefi" instead of the "linux" or "kernel" command).??
On Mon, Jun 22, 2020 at 1:40 PM Erik Rull via Syslinux < syslinux at syslinux.org> wrote:> Thanks for the hints - I have NOT CONFIG_EFI enabled - do I need this > actually? >I don't think it *should* be necessary, but it might be necessary due to limitations or bugs in the firmware of the device you are trying to boot.> 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? >Sorry, I had confused syslinux with another bootloader. Syslinux only has the "linux" or "kernel" commands. You might try "LINUX linux" in your configuration instead of "KERNEL linux" though.> Or is there a "default" syslinux.cfg for efi that I could use as a > template? >What you have looks pretty minimal. I don't see any obvious problems with it.> > 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... >Problems this early in the boot process can be a bit difficult to debug. You might try the kernel parameters noacpi, nomodeset, noapci, and debug. Good luck, gb
> 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.
Ady via Syslinux wrote:> >> 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) >ok, done.> 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).my EFI partition now looks like this with pre1 (syslinux.efi doesn't work, but BOOTX64.efi works) ./EFI ./EFI/BOOT ./EFI/BOOT/syslinux.efi ./EFI/BOOT/ldlinux.e64 ./EFI/BOOT/BOOTX64.efi ./EFI/BOOT/syslinux.cfg ./EFI/BOOT/linux ./EFI/BOOT/iramfs.gz> 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).I have mixed bitness - of course a 64 bit BIOS bit a 32 bit OS - the 32 bit syslinux files do not work. But the mixed mode is only available "the other way round" - 64 bit kernels on 32 bit BIOS...> 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.I tried 6.04-pre1 - it boots! :-)> > Regards, > Ady.Thanks a lot! And - when is the official 6.04 release planned? :-) Best regards, Erik