alex lupu
2015-Mar-16 16:53 UTC
[syslinux] Fail to set up UEFI syslinux on ArchLinux USB Flash Drive
On Mon, Mar 16, 2015 at 9:03 AM, Ady via Syslinux <syslinux at zytor.com> wrote: Hi Ady,> please next time use "Reply All" (instead of the simple "Reply")for the mailing list emails ... Sorry about that. Please add my reply to the list for me. Thanks.> 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 ... and I finally get the expected nice menu prompt !!! Thanks. 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 !) i.e., This is the end of the line :( Maybe you'll let me know when syslinux gets the capability to hop partitions. Many thanks again, --Alex
Ady
2015-Mar-16 17:41 UTC
[syslinux] Fail to set up UEFI syslinux on ArchLinux USB Flash Drive
> > 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, > --AlexRegards, Ady.> _______________________________________________ > Syslinux mailing list > Submissions to Syslinux at zytor.com > Unsubscribe or set options at: > http://www.zytor.com/mailman/listinfo/syslinux >
alex lupu
2015-Mar-16 21:03 UTC
[syslinux] Fail to set up UEFI syslinux on ArchLinux USB Flash Drive
On Mon, Mar 16, 2015 at 1:41 PM, Ady via Syslinux <syslinux at zytor.com> wrote:> 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. >?Right?. I just used the "traditional" syntax.> > 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. >?Sneaky me :) Actually I didn't forget. ?Based on space limitations, ? I just ?presented a small sample of? ? files residing in the 'syslinux' ?sub directory ? as indication of a sane subdirectory with _all_ the expected files? . Little did I know at a time that by _randomly_ excluding 'libutil.c32' (among others) from the limited sample that action might jeopardize our beautiful friendship:) Anyway, to eliminate this point of contention once and for all ? (at least for other ? ? readers :), here we go: alex:[~]$ sudo mount /dev/sdd1 /mnt alex:[~]$ ls /mnt EFI alex:[~]$ ls /mnt/EFI syslinux alex:[~]$ ls /mnt/EFI/syslinux cat.c32 cpuid.c32 elf.c32 ifcpu64.c32 lfs.c32 ls.c32 pmload.c32 sanboot.c32 vesainfo.c32 chain.c32 cpuidtest.c32 ethersel.c32 ifcpu.c32 libcom32.c32 lua.c32 poweroff.c32 sdi.c32 vesamenu.c32 cmd.c32 debug.c32 gfxboot.c32 ifmemdsk.c32 libgpl.c32 mboot.c32 prdhcp.c32 sysdump.c32 vpdtest.c32 cmenu.c32 dhcp.c32 gpxecmd.c32 ifplop.c32 liblua.c32 meminfo.c32 pwd.c32 syslinux.c32 whichsys.c32 config.c32 disk.c32 hdt.c32 kbdmap.c32 libmenu.c32 menu.c32 pxechn.c32 syslinux.cfg zzjson.c32 cptime.c32 dmi.c32 hexdump.c32 kontron_wdt.c32 libutil.c32 pci.c32 reboot.c32 syslinux.efi cpu.c32 dmitest.c32 host.c32 ldlinux.e64 linux.c32 pcitest.c32 rosh.c32 vesa.c32> > ? 'syslinux.cfg'? > > > 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 thought about that. Obviously it would work IF I moved the vmlinuz andinitramfs ?files from /dev/sdd2 to /dev/sdd1. I figured that would probably be considered non-standard Arch and would generate a new set of enemies. OTOH, I agree with you - who cares? So full steam ahead. Thanks again for your great help, patience and trust in me, -- Alex
Possibly Parallel Threads
- Fail to set up UEFI syslinux on ArchLinux USB Flash Drive
- Fail to set up UEFI syslinux on ArchLinux USB Flash Drive
- Fail to set up UEFI syslinux on ArchLinux USB Flash Drive
- Fail to set up UEFI syslinux on ArchLinux USB Flash Drive
- Fail to set up UEFI syslinux on ArchLinux USB Flash Drive