[syslinux] Is efiboot.img required?

piranna at gmail.com piranna at gmail.com
Sun Apr 5 10:26:37 PDT 2015


> The third boot image is HFS+, not FAT.
> I understand this is for pre-EFI Macs.

Apple started usinf EFI when it switched to Intel x86 CPUs, previous
to this ones it was using OpenFirmware in their PowerPC "new world"
machines (IBM PowerPC G4 & G5).


> Try a Debian amd64 ISO, e.g.:
>   http://cdimage.debian.org/debian-cd/7.8.0/amd64/iso-cd/debian-7.8.0-amd64-netinst.iso
> It does not have a HFS+ boot image, other than
> Fedora-LiveCD.iso.

I'll test it and comment my results.


>> > Of course, piranna could set up an EFI capable disk boot
>> > image by help of SYSLINUX. But that would not boot from
>> > optical media.
>
>> This is what I've done, a FAT disk image with syslinux.efi and embed
>> it inside the IsoHybrid disk image, but when dd'd to the USB pendrive,
>
> I meant a disk-only image. No ISO, no hybrid.
> Just an ESP and an operating system partition.
> Created by partition editor, filesystem formatter,
> and populated with files by you and SYSLINUX.

Yeah, this could be another option, in fact originally I had a CD ISO
and an USB disk image, but since I found the IsoHybrid images I
decided to combine both in just a CD ISO to don't confuse users about
what one to download. Maybe I could deprecate the CDs at all and
publish only "native" USB disk images instead, isn't it?


>> SysLinux.efi loads the Linux kernel and its initramfs file but doesn't
>> boot... :-/ As I put in the initial message I'm not using the
>> /efi/boot/bootx64.efi path but instead just copied all files in the
>> root directory of the FAT disk image, but since it already load the
>> kernel and the initramfs maybe the canonical path is not required...
>> is it? Do I need to use the canonical one (and why)?
>
> I would have expected that EFI falls back to the EFI shell
> if no /efi/boot/bootx64.efi is present in the ESP.
>
> Hrmpf ... The file names are defined in 3.4.1.1 "Removable Media
> Boot Behavior". In general, the file paths can be set by a NVRAM
> variable (FilePathList[0] ?) for particular devices.
>
> Do you have indications that syslinux.efi was really executed ?

I get the rEFInd shell, and under it the lines "SYSLINUX 6.03",
"Booting NodeOS..." (what I have in the SAY field in syslinux.cfg
file), "Loading kernel.img... ok" and "Loading initram.gz... ok", so
yes, syslinux.efi gets executed, the syslinux.cfg file is parsed and
the linux kernel and the initramfs are loaded, but after that nothing
happens, while it should at least start outputting linux kernel
booting process messages... :-(

My syslinux.cfg file has:

DEFAULT NodeOS
LABEL NodeOS
  SAY Booting NodeOS...
  LINUX  kernel.img
  APPEND root=/dev/sdb2 vga=0x318
  INITRD initram.gz

I don't think the vga= parameter would affect, in any case it would be
ignored (on BIOS-based systems it works)...


>> Info about creation of the FAT disk image, and if there's any
>> diference (that seems there are), example for EFI-based Macs.
>
> First we would have to produce a SYSLINUX based ESP image
> which is able to boot Linux so that it can use the surrounding
> ISO 9660 filesystem.

I agree.


-- 
"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