[syslinux] Is efiboot.img required?

piranna at gmail.com piranna at gmail.com
Sun Apr 5 16:37:13 PDT 2015


Just to be clear on the topic, I decided to do some tests from scratch
on my MacBook Pro. This are the steps and results:

1. I've pick my USB pendrive and zeroed it, and after that created a
new MBR partition scheme with fdisk and a VFAT partition of 32MB.
Later I dd'd the file /usr/lib/syslinux/mbr/mbr.bin from SysLinux 6.03
and set the boot flag on the partition, so it could be able to boot
SysLinux.

2. Copied all the files of my IsoHybrid image:

- initram.gz
- isolinux.bin
- kernel.img
- ldlinux.c32
- syslinux.cfg

Obviously this would be booted by SysLinux MBR, so I've changed
isolinux.bin for syslinux.c32 (from /usr/lib/syslinux/modules/bios).
Now rEFInd show a new "Legacy OS" entry pointing to the USB "whole
device". Now I should be able to boot on Legacy OS mode, but it didn't
worked.

3. Created a /EFI/boot folder and put there the files syslinux.efi
(from /usr/lib/SYSLINUX.EFi/efi64) and ldlinux.e64 (from
/usr/lib/syslinux/modules/efi64). Didn't worked.

4. Renamed /EFI/boot/syslinux.efi to /EFI/boot/bootx64.efi. Didn't worked.

5. Set the esp flag on the partition. Now rEFInd show two entries, one
for the Legacy OS and a new one for "Default fallback loader on 32 MiB
device". Executing it, it loads the kernel and the initram but didn't
loaded.

6. Renamed back /EFI/boot/bootx64.efi to /EFI/boot/syslinux.efi, just
to be sure. The "Default fallback loader on 32 MiB device" entry has
changed to "Syslinux on 32 MiB device". Executing it, it loads the
kernel and the initram but didn't loaded.

7. Moved /EFI/boot/syslinux.efi and /EFI/boot/ldlinux.e64 to root
folder of the partition, so now the files in the root partition are:

- initram.gz
- kernel.img
- ldlinux.c32
- ldlinux.e64
- syslinux.c32
- syslinux.cfg
- syslinux.efi

The "Syslinux on 32 MiB device" entry is still there, so the theory
that "syslinux" is hardcoded somewhere (the MBR code?) and the
executable is searched in the partition the same way it happens with
the syslinux.cfg file makes sense. Executing it, it loads the kernel
and the initram but didn't loaded.

So my conclusions are:

1. Just by having a MBR (and an active partition?) the Legacy OS
appear, but it's not working on my MacBook while it does on my PCs.
Maybe the MBR code is not being executed? Maybe it needs something on
the partition boot sector?
2. EFI option only appear when a partition has the esp flag. Probably
related, with the esp flag the partition is NOT automounted on my
Ubuntu machine, I need to mount it by hand using the "mount" command.
3. The /EFI/boot/bootx64.efi path is the fallback one, but not
necesarily the one needed to boot. In fact, my Ubuntu system on the
MacBook doesn't have it (and it boot using EFI...).
4. The syslinux.efi executable is searched on the EFI partition, at
least from /EFI/boot to /EFI to / the same way that happens with the
syslinux.cfg file (that it was always on the root folder of the
partition).

The most annoying thing (to me) is that it doesn't boot at all on
Legacy OS mode (MBR), while it should... :-/


2015-04-05 22:58 GMT+02:00 Thomas Schmitt via Syslinux <syslinux en zytor.com>:
> Hi,
>
> Curt Brune wrote:
>> At the risk of contributing to the 'urban legends' and the 'salads'
>
> I apologize to all communities who hand out correct info. :))
>
>
>> http://lukeluo.blogspot.com/2013/06/grub-how-to-2-make-boot-able-iso-with.html
>
> Well, the excursion on CD-DA is off topic and i would
> describe many aspects in different terms. Nice to see
> that at least one person read man xorriso.
>
> Whatever, no EFI stuff to see in this article.
>
>
>> http://lukeluo.blogspot.com/2013/06/grub-how-to-5-ubuntu-distributition-iso.html
>
> This explains me how to create a Ec2 Linux server in Tokyo.
> Grrr ...
>
>
>> ubuntu-13.04-desktop-amd64.iso
>
> I have ubuntu-14.04-desktop-amd64.iso here.
> It's a ISOLINUX + GRUB2 isohybrid. Much like
> debian-7.7.0-amd64-netinst.iso .
>
> Of interest would be the production of
> /boot/grub/efi.img before it gets packed up by
> xorriso.
>
>
> Have a nice day :)
>
> Thomas
>
> _______________________________________________
> Syslinux mailing list
> Submissions to Syslinux en zytor.com
> Unsubscribe or set options at:
> http://www.zytor.com/mailman/listinfo/syslinux



-- 
"Si quieres viajar alrededor del mundo y ser invitado a hablar en un
monton de sitios diferentes, simplemente escribe un sistema operativo
Unix."
– Linus Tordvals, creador del sistema operativo Linux



More information about the Syslinux mailing list