[syslinux] Can almost boot on UEFI win8.1 laptop

Barry Kauler bkauler at gmail.com
Thu Nov 6 00:40:08 PST 2014


On 11/6/14, Ady <ady-sf at hotmail.com> wrote:
>
>> I have done another install to the usb stick.
>>
>> # syslinux --directory EFI/BOOT --install /dev/sdc1
>>
>> ...this creates files ldlinux.c32 and ldlinux.sys in /EFI/BOOT
>>
>> I then mounted the 1st partition of the usb stick and copied
>> syslinux.efi and ldlinux.e64 from /usr/share/syslinux/efi64 to
>> /EFI/BOOT in the usb stick.
>>
>> I renamed syslinux.efi to BOOTX64.EFI
>>
>> I copied my files boot.msg, help.msg, logo.16, syslinux.cfg, vmlinuz
>> into /EFI/BOOT
>>
>> So, there are no files in the root directory of the 1st partition.
>>
>> Yes, it boots, I get the "Loadin vmlinuz... ok", then that's it. As
>> before, hangs, no output to screen.
>>
>> I have no idea what to do next.
>>
>> Regards
>> Barry
>> _______________________________________________
>> Syslinux mailing list
>> Submissions to Syslinux at zytor.com
>> Unsubscribe or set options at:
>> http://www.zytor.com/mailman/listinfo/syslinux
>>
>
> You are not supposed to execute the syslinux installer command. That
> command is for BIOS not UEFI!
>
> As noted in the Library modules wiki page, the c32 files have the
> same file name, but are different for each firmware/architecture.
>
> For UEFI, you simply _copy_ the relevant syslinux.efi (efi64) file to
> the adequate location: /EFI/BOOT/BOOTX64.EFI in your USB first
> partition (which should be FAT), and the ldlinux.e64 file. You also
> copy additional c32 modules to the same location if they are needed,
> and you create the /EFI/BOOT/SYSLINUX.CFG. Add the
> kernel+initrd+other file(s) according to your needs. Unmount. Reboot
> to your USB drive in UEFI mode.
>
> Regards,
> Ady.
> _______________________________________________
> Syslinux mailing list
> Submissions to Syslinux at zytor.com
> Unsubscribe or set options at:
> http://www.zytor.com/mailman/listinfo/syslinux
>

Ok, thanks, things are becoming clearer.

I have a success story now. I tested with both 32-bit and 64-bit
kernels, got the same problem, that is, nothing after "Loading
vmlinuz... ok".

I took a punt on something. From the docs, I thought that the kernel
parameter CONFIG_EFI_STUB is not required. However, I set it:

CONFIG_EFI_PARTITION=y
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_EFI_MIXED=y
CONFIG_FB_EFI=y
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
CONFIG_EFI_VARS=m
# CONFIG_EFIVAR_FS is not set
CONFIG_EARLY_PRINTK_EFI=y

For a generic x86-64 kernel, after the "Loading vmlinux... ok", I now
get kernel logging to the screen. It has a kernel panic as cannot run
init, but that is another problem.

The same EFI config with a 32-bit kernel does NOT work.

Everything is somewhat clearer now, and I will refine the steps. I'll
post a msg to the mail-list when I have got it all sorted out and
documented.

Thanks for your patience.

Regards,
Barry


More information about the Syslinux mailing list