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

Ady ady-sf at hotmail.com
Mon Mar 16 10:41:44 PDT 2015


> > 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.
> 
> You have a great point there.
> I redid the "efibootmgr" installation and instead of
> 
> efibootmgr -c -d /dev/sdd -p 1 -l EFI\\syslinux\\syslinux.efi -L ArchLinux
> 
> as I used originally (as documented in my OP), I put a (double) slash in
> front
> of "EFI", i.e., I now have
> 
> efibootmgr -c -d /dev/sdd -p 1 -l \\EFI\\syslinux\\syslinux.efi -L ...
> 
 
Hmm... AFAIK, efibootmgr currently accepts slash and automatically 
converts it into backslash. So for a current version of efibootmgr, a 
path like:
 /EFI/syslinux/syslinux.efi 
(including the initial slash) should be OK as command-line argument.
 
> and
> I finally get the expected nice menu prompt !!!
> Thanks.
 
I'm glad you got it. But, for the sake of clarity (at least for other 
readers), I should repeat: for menu.c32 to work, you also need the 
corresponding "libutil.c32", which you have not listed before. So, 
either you forgot to list it here, or you have added it later and 
didn't tell us.
 
> 
> UNFORTUNATELY
> as documented in the latest ArchWiki
>  (https://wiki.archlinux.org/index.php/Syslinux#UEFI_Systems)
> quote,
> "For syslinux, kernel and initramfs files need to be in the ESP, as syslinux
> does not (currently) have the ability to access files outside its own
> partition..."
> 
> so this is as far as I can go with my attempt to use UEFI syslinux!!!
> 
> (reminder, the 'syslinux.cfg' file in the EFI partition, /dev/sdd1,
> has lines like this
> 
>  LABEL arch
>          MENU LABEL Arch Linux
>          LINUX ../vmlinuz-linux
>          APPEND root=/dev/sdd2 rw
>          INITRD ../initramfs-linux.img
> 
> and unfortunately, 'vmlinuz-linux' and 'initramfs-linux*.img' reside in the
> root=/dev/sdd2 !)
> 
 
That LABEL, "translated" to absolute paths for your particular case, 
would be equivalent to:

  LABEL arch
          MENU LABEL Arch Linux
          LINUX /EFI/vmlinuz-linux
          APPEND root=/dev/sdd2 rw
          INITRD /EFI/initramfs-linux.img

So, your "root" can still be pointing to sdd2; as long as the 
"vmlinuz-linux" and "initramfs-linux.img" files are located in sdd1 
directly under the "EFI" directory.
 
> i.e., This is the end of the line :(
 
As I just showed, there are valid solutions. It's up to you.

As I hinted in a prior email in this same email thread, this was more a 
matter to be asked in ArchLinux's forum (or to learn in its wiki) than 
about Syslinux itself.
 
> 
> Maybe you'll let me know when syslinux gets the capability to hop
> partitions.
> 
> Many thanks again,
> --Alex
 
Regards,
Ady. 

> _______________________________________________
> Syslinux mailing list
> Submissions to Syslinux at zytor.com
> Unsubscribe or set options at:
> http://www.zytor.com/mailman/listinfo/syslinux
> 




More information about the Syslinux mailing list