[syslinux] Fail to set up UEFI syslinux on ArchLinux USB Flash Drive

Ady ady-sf at hotmail.com
Mon Mar 16 06:03:58 PDT 2015

@Alex, please next time use "Reply All" (instead of the simple "Reply") 
for the mailing list emails; that way the emails will get to the 
Syslinux Mailing List (instead of arriving to particular members).

Now, to the matter in question...

> > Just a minor detail (but it helps for understanding each other)...
> > You probably mean "in UEFI firmware", not "in BIOS".
> > And yet, this is still not clear (at least, not to me).
> We're in sync here (although not immediately apparent :)
> I'm resonably familiar with UEFI.  Above, by "in BIOS" I meant
> going to my machine's "BIOS", i.e., in my paricular case/motherboard,
> Boot
> Hit Delete key
> Hit F8
> and then select from among the _UEFI_ menu entries
> the subject "ArchLinux" entry (and watch what happens).  Unfortunately,
Is this "ArchLinux" entry equivalent to "\EFI\syslinux\syslinux.efi" in 
your UEFI firmware?

Note: UEFI firmware is supposed to use (or show) backslash "\" as path 
separator. This is not a big deal here; just the reason I used it 
> instead of the expected nice menu created by me in 'syslinux.cfg' I get
> the problem "boot:" prompt in the middle of an otherwise blank screen 
> :(
Which means that syslinux.efi actually boots (to the boot prompt), but 
(it seems, as per your report) it cannot find a "syslinux.cfg" file in 
the expected location.
> 3.
> > You probably should double-check that you actually have a 
> "syslinux.cfg"
> > in the same directory where your "syslinux.efi" file is located.
> I had thousend-checked and the files in 'EFI/syslinux/' are as 
> originally
> listed in my OP (where I selected only a few "important" files).
> For reference here,
> - Used Arch syslinux files from /usr/lib/syslinux/efi64/
> (copied to EFI/syslinux/ on /dev/sdd1 (see below)):
>  ...
> 134744  ldlinux.e64
> 121848  liblua.c32
>  27688  libmenu.c32
>   6136  linux.c32
>  31720  menu.c32
>  10328  syslinux.c32
>    400  syslinux.cfg    (created by me - "Text boot menu" format)
> 176456  syslinux.efi
>From your "/usr/lib/syslinux/efi64/" (in your particular OS), you need 
"libutil.c32" so your "menu.c32" would work. This is a/another reason 
for you to see a boot prompt instead of a menu.
> 4.
> >> boot: syslinux.cfg
> >> Failed to load COM32 file syslinux.cfg.c32
> >> boot: syslinux
> >> Undefined symbol FAIL: lua_pushlightuserdata
> >> Failed Failed to load COM32 file syslinux.c32
> >> boot:  etc., etc ...
> > Those are not accepted commands, so you cannot expect adequate 
> results.
> Those were attempted by me in order to maybe guess a "meaningful" 
> response
> to the "boot:" prompt and/or maybe in hopes some syslinux people to 
> guess
> (in their turn :) where I was and/or what was/went wrong.
> Obviously, something "behind" that "boot:" prompt spoke some 
> "syslinux",
> see the "c32", "lua_pushlightuserdata",
> "Failed to load COM32 file syslinux.c32" clues there.
> BTW,  from the "boot:" situation I could recover only by rebooting the 
> machine
> (or is it by reuefiing the machine? :)
In the Syslinux boot prompt, have you tried typing in one of the 
recognized LABELs you used in your "syslinux.cfg"?
> 5.
> This is the content of the 'syslinux.cfg' file
>  UI menu.c32
>  MENU TITLE Boot Menu
>  TIMEOUT 100
>  DEFAULT arch
>  LABEL arch
>          MENU LABEL Arch Linux
>          LINUX ../vmlinuz-linux
>          APPEND root=/dev/sdd2 rw
>          INITRD ../initramfs-linux.img
>  LABEL archfallback
>          MENU LABEL Arch Linux Fallback
>          LINUX ../vmlinuz-linux
>          APPEND root=/dev/sdd2 rw
>          INITRD ../initramfs-linux-fallback.img
> Note:  During the numerous tests I made, I played with
> UI menu.c32 (in/out), PROMPT (0/1),
> to no avail.
In your boot prompt, type in:
and press enter. Is you OS booting then?
> I'd also like to append this "parted" summary of the subject USB drive
> to the documentation I submitted in my OP:
> Model: Kingston DataTraveler G3 (scsi)
> Disk /dev/sdd: 4007MB
> Sector size (logical/physical): 512B/512B
> Partition Table: gpt
> Disk Flags: 
> Number  Start   End     Size    File system     Name           
> ​ ​Flags
>  1      17.4kB  537MB   537MB   fat32           EFI System     
> ​ ​boot, esp
>  2      537MB   3787MB  3251MB  ext2            Linux filesystem
>  3      3787MB  4007MB  220MB   linux-swap(v1)  Linux swap
> Thanks,
> ​-- Alex​

For more info about c32 library modules, see:


More information about the Syslinux mailing list