Atle Holm
2016-Apr-21 14:46 UTC
[syslinux] Regarding: {syslinux} Creating Syslinux UEFI usb boot
Den 21. april 2016 kl. 14.21.04 +02.00 skrev Geert Stappers <stappers at stappers.nl>:> On Thu, Apr 21, 2016 at 06:39:44AM -0400, Gene Cumm via Syslinux wrote: > > > On Thu, Apr 21, 2016 at 3:29 AM, Atle Holm <<atle at team-holm.net>> wrote: > > > > > Under EFI/BOOT are the following files: > > > BOOTIA32.EFI (from efi32/efi/syslinux.efi) > > > BOOTX64.EFI (from efi64/efi/syslinux.efi) > > > ldlinux.sys (copied from root of partition) > > > lua.c32 > > > mboot.c32 > > > menu.c32 > > > syslinux.cfg > > > vesamenu.c32 > > > KS.CFG (vmware specific) > > > BOOT.CFG (vmware specific) > > > autoselect.lua > > > > > > These files are also all under the root of the partition (except > > > BOOTIA32.EFI and BOOTX64.EFI) and work fine there if I use a normal bios > > > boot. When using UEFI boot, things don't work. > > > > > I'd fully expect this. Syslinux for EFI is incomplete. > > > > > > > If the .c32 files here are incorrect for UEFI boot, where do I get the > > > correct files? > > > > > The same place as the other files. You'll need at least > > efi64/com32/elflink/ldlinux/ldlinux.e64 > > > > > > > I haven't been able to find a description/recipe on how to set up UEFI boot > > > with Syslinux. Why is there none, or where is it? That would probably be > > > easier. > > > > > I had the impression from the first or second message you send that > > you already had a recipe. > > > > <http://www.syslinux.org/wiki/index.php?title=Install#UEFI> is a start. > > > > An additional config will be warranted. In the root of the file > > system, a file named syslx64.cfg with > > > > #BEGIN syslx64.cfg > > PATH boot/syslinux/x64 > > INCLUDE common.cfg > > #END syslx64.cfg > > > > > > For COM32 modules, you'll need at least (vesa)menu.c32, lua.c32, > > mboot.c32, and all of the libraries they depend on (though everything > > is easier) from within efi64/com32/ for the 64-bit placed in the > > boot/syslinux/x64 directory. > > > > Then rename your existing syslinux.cfg as common.cfg and create a new > > syslinux.cfg with > > > > > > #BEGIN syslinux.cfg > > PATH boot/syslinux/bios > > INCLUDE common.cfg > > #END syslinux.cfg > > > > > > and move the BIOS COM32 modules to that directory. > > > > I'm reasonably certain that the shuffling of your current syslinux.cfg > > and the current BIOS COM32 modules will be necessary as the EFI > > variants will likely try to load the BIOS COM32 module from the root > > instead of the directory in PATH and fail. > > > > Hello Alte, > > Please consider to subscribe to the Syslinux mailinglist. > If you are allready a subscriber of that ML, > then please use on your next to <syslinux at zytor.com> > the e-mail with which you are subscribed. > > You are benefit is no delay that your posting reaches the Syslinux community, > my benefit is no manual labour on posting approval. > (discard of spam posting (spammers are also non-subscribers) > requires nearly no manual labour) > > > Regards > Geert Stappers > In his role as moderator of the Syslinux mailinglist. > > @Gene Thank you for waiting on Alte postings seen on the ML. > I don't no if it is intended, but it feels good to have > on the mailinglist the same order appearing messages > as they were written. > OK, it now looks like this./common.cfg (has contents of previously syslinux.cfg for menu and all) /syslinux.cfg PATH BOOT/SYSLINUX/BIOS INCLUDE common.cfg /syslx64.cfg PATH BOOT/SYSLINUX/x64 INCLUDE common.cfg /BOOT.CFG (vmware specific) /KS.CFG (vmware specific) /EFI/BOOT/BOOTIA32.EFI /EFI/BOOT/BOOTX64.EFI /EFI/BOOT/ldlinux.e64 /EFI/BOOT/ldlinux.elf /BOOT/SYSLINUX/BIOS/lua.c32 (241 KB) /BOOT/SYSLINUX/BIOS/mboot.c32 (79 KB) /BOOT/SYSLINUX/BIOS/menu.c32 (54 KB) /BOOT/SYSLINUX/BIOS/vesamenu.c32 (150 KB) /BOOT/SYSLINUX/x64/cmenu.c32 - from?syslinux-6.03.zip\efi64\com32\lua\src /BOOT/SYSLINUX/x64/cpu.c32 - from?syslinux-6.03.zip\efi64\com32\lua\src /BOOT/SYSLINUX/x64/dhcp.c32 - from?syslinux-6.03.zip\efi64\com32\lua\src /BOOT/SYSLINUX/x64/dmi.c32 - from?syslinux-6.03.zip\efi64\com32\lua\src /BOOT/SYSLINUX/x64/lfs.c32 - from?syslinux-6.03.zip\efi64\com32\lua\src /BOOT/SYSLINUX/x64/liblua.c32 - from?syslinux-6.03.zip\efi64\com32\lua\src /BOOT/SYSLINUX/x64/lua.c32 (9KB) - from?syslinux-6.03.zip\efi64\com32\lua\src /BOOT/SYSLINUX/x64/mboot.c32 (13KB) - from?syslinux-6.03.zip\efi64\com32\mboot /BOOT/SYSLINUX/x64/menu.c32 (32KB) - from?syslinux-6.03.zip\efi64\com32\menu /BOOT/SYSLINUX/x64/pci.c32 - from?syslinux-6.03.zip\efi64\com32\lua\src /BOOT/SYSLINUX/x64/syslinux.c32 - from?syslinux-6.03.zip\efi64\com32\lua\src /BOOT/SYSLINUX/x64/vesa.c32 - from?syslinux-6.03.zip\efi64\com32\lua\src /BOOT/SYSLINUX/x64/vesamenu.c32 (11 KB) - from?syslinux-6.03.zip\efi64\com32\menu So when I do a BIOS boot, I now get: Could not find kernel image: vesamenu.c32 This used to work earlier. When I do a UEFI boot, I now get: Failed to load COM32 file: vesamenu.c32 So that is progress. I tried placing the contents of /BOOT/SYSLINUX/x64 on the root of the disk and also inside /EFI/BOOT/ but that made no difference. I noticed that the c32 files that I found from?syslinux-6.03.zip were alot smaller then the BIOS C32 files I have been using from syslinux 4.05 that came shipped with Ubuntu (see my notations above). I am guessing that the files in syslinux-6.03.zip need compiling of some sort to include all it should in the file? If so, how to do? Do I have to compile and install the whole syslinux-6.03 package to get the com32 modules? Best regards, Atle