Hi, i wrote:> > Would it be desirable to explain how Fedora et.al. > > created their FAT boot images by help of old or new > > GRUB ? > > (If developers of EFI bootable ISOs are reading this, > > please give a short sketch of the procedure.)piranna at gmail.com wrote:> I did it by including the Linux kernel and the initramfsNone of the ISOs i know has this stuff in the FAT image. There must be some way for GRUB/GRUB2 to escape from FAT into the ISO. debian-7.7.0-amd64-netinst.iso does the job by a bootx64.efi binary of 421888 bytes. It's the only file in the FAT (of 458752 bytes). It might be a workaround for ISOLINUX to bring ISOLINUX configuration and a minimal Linux into the FAT which is then able to start the desired operating system from the ISO.> but that's sub-optimal since I need to have them in two places.Especially since the size of an El Torito boot image is restricted to 32 MiB (65536 x 512 bytes).> That's why I > asked about re-using the same MBR entry so no need for an EFI imageEFI ignores the boot code in the MBR and only follows the partition table entry of type 0xef, if there is any. In any case there is no other boot path specified than to look up /efi/boot/bootx64.efi in the FAT filesystem and to execute it. Only the methods of finding the FAT differ, depending on the medium type (El Torito vs. partition table) and on the choice of the partition table (MBR vs. GPT). Have a nice day :) Thomas
> None of the ISOs i know has this stuff in the FAT image. > There must be some way for GRUB/GRUB2 to escape from FAT > into the ISO. > debian-7.7.0-amd64-netinst.iso does the job by a > bootx64.efi binary of 421888 bytes. It's the only file > in the FAT (of 458752 bytes).I'll try to use it to see if it works.> It might be a workaround for ISOLINUX to bring ISOLINUX > configuration and a minimal Linux into the FAT which is > then able to start the desired operating system from > the ISO.That's just what I did :-) Didn't though about any other alternative...>> but that's sub-optimal since I need to have them in two places. > > Especially since the size of an El Torito boot image > is restricted to 32 MiB (65536 x 512 bytes).That's no problem here, it's under 16MiB.> In any case there is no other boot path specified than > to look up /efi/boot/bootx64.efi in the FAT filesystem > and to execute it.Should I rename syslinux.efi to that one? -- "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
On Sun Apr 05 15:17, Thomas Schmitt via Syslinux wrote:> None of the ISOs i know has this stuff in the FAT image. > There must be some way for GRUB/GRUB2 to escape from FAT > into the ISO. > debian-7.7.0-amd64-netinst.iso does the job by a > bootx64.efi binary of 421888 bytes. It's the only file > in the FAT (of 458752 bytes).[ long time syslinux user -- thanks all!! ] At the risk of contributing to the 'urban legends' and the 'salads' I have found this sequence of blog posts about UEFI/ISO/xorriso/GRUB2 enlightening: http://lukeluo.blogspot.com/2013/06/grub-how-to-2-make-boot-able-iso-with.html http://lukeluo.blogspot.com/2013/06/grub-how-to-5-ubuntu-distributition-iso.html At the end of the described procedures is a single GRUB2 based .ISO that can boot in 4 different ways (cross product of ISO9660/disk-image and Legacy-BIOS/UEFI): $ qemu -m 512 -cdrom ubuntu-13.04-desktop-amd64.iso $ qemu -m 512 -hda ubuntu-13.04-desktop-amd64.iso $ qemu -m 512 -bios OVMF.fd -hda ubuntu-13.04-desktop-amd64.iso $ qemu -m 512 -bios OVMF.fd -cdrom ubuntu-13.04-desktop-amd64.iso Deepened my understanding greatly. However, not for the casual user. Cheers, Curt
Hi, i wrote:> > It might be a workaround for ISOLINUX to bring ISOLINUX > > configuration and a minimal Linux into the FATpiranna at gmail.com wrote:> That's just what I did :-) Didn't though about any other alternative...I only get to see what my users and other ISO producers do. Normally the ESP is just a launchpad to hop on the old tracks of BIOS booting. But the requirement for a fat ESP is known. E.g. https://wiki.archlinux.org/index.php/Syslinux#UEFI_Systems says "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 (i.e. outside ESP in this case)." But why does your Linux not start from isohybrid ESP ? Do you have a clue where it fails or gets stuck ?> > /efi/boot/bootx64.efi> Should I rename syslinux.efi to that one?It would be worth a try. I have few clue of the boot loaders. My program packs up the files in an ISO 9660 filesystem and installs the pointers to the first boot stage of the various boot images. Ignorance is the precondition of neutrality. It seems that in the usual SYSLINUX EFI recipies and wikis, the run of efibootmgr(8) is the decisive step which makes syslinux.efi the file to boot. (Just google "syslinux.efi") This cannot be applied to the image file but only to the boot firmware of the target computer. So one probably should use the default name for a live system. Have a nice day :) Thomas
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.htmlWell, 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.htmlThis explains me how to create a Ec2 Linux server in Tokyo. Grrr ...> ubuntu-13.04-desktop-amd64.isoI 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