hello every body, I'm trying to build an isohybrid image based on syslinux able to boot on bios and uefi with optical disk or usb key. I've build a 16Mb hard disk image (core.img) with necessary parts for bios (legacy bootable partition, protective mbr, gptmbr.bin & syslinux installation) and for uefi (gpt, esp, /efi/boot/bootx64.efi & syslinux files). my hard disk image is ok - eg. bootable - with qemu on bios and uefi (vmlinux & core.gz from tinylinux 7.2 are used). I've generated an iso image with : mkisofs -o core.iso -b boot/core.img -c boot/boot.cat -hard-disk-boot core/ my iso image is ok with qemu on bios and uefi, and with qemu as hard disk on uefi but not on bios. for the last case, I've use : isohybrid core.iso but I've this error : isohybrid: core.iso: unexpected boot catalogue parameters what's my problem :-) regards.
Hi, Pascal wrote:> mkisofs -o core.iso -b boot/core.img -c boot/boot.cat -hard-disk-boot core/ > my iso image is ok with qemu on bios and uefi,Astounding. As CD-ROM this is not supposed to work with UEFI unless the firmware emulates BIOS. What particular UEFI firmware did you use ?> and with qemu as hard disk on uefi but not on bios.That's even more astounding. The UEFI would have to look into the ISO 9660 filesystem or interpret the El Torito boot info prepared for BIOS.> isohybrid: core.iso: unexpected boot catalogue parametersThat's because ISOLINUX boot images are binary programs which get registered in the El Torito catalog as "no emulation" images. Your core.img is registered (by option -hard-disk-boot) as "hard disk emulation" image. http://git.zytor.com/syslinux/syslinux.git/tree/utils/isohybrid.c bails out in line 526, because variable de_media is 4 and not 0. For BIOS booting from CD-ROM you need to use "isolinux.bin" as boot image which you give to mkisofs via option -b. Instead of -hard-disk-boot you have to use -no-emul-boot -boot-load-size 4 -boot-info-table See http://www.syslinux.org/wiki/index.php?title=ISOLINUX For UEFI from CDROM you need a FAT filesystem image with EFI boot files like /efi/boot/bootx64.efi in it. Note that the EFI boot software of SYSLINUX does not boot from CD-ROM, even if properly wrapped and announced in El Torito. ISOs which work from CD-ROM mostly use GRUB-equipped FAT images for UEFI. The UEFI boot image has to be announced in El Torito by the ISO producer program. See options -e isolinux/efiboot.img -no-emul-boot or -eltorito-platform 0xEF -eltorito-boot isolinux/efiboot.img -no-emul-boot in http://www.syslinux.org/wiki/index.php?title=Isohybrid#UEFI ("isolinux/efiboot.img" is the FAT image with content from other boot loader projects or an EFI-ready operating system kernel.) Such an ISO is then ready for being processed by isohybrid, so that it afterwards has MBR BIOS x86 boot code and partition tables pointing to the FAT filesystem for UEFI. Have a nice day :) Thomas
> hello every body, > > I'm trying to build an isohybrid image based on syslinux able to boot on > bios and uefi with optical disk or usb key. > > I've build a 16Mb hard disk image (core.img) with necessary parts for bios > (legacy bootable partition, protective mbr, gptmbr.bin & syslinux > installation) and for uefi (gpt, esp, /efi/boot/bootx64.efi & syslinux > files). > > my hard disk image is ok - eg. bootable - with qemu on bios and uefi > (vmlinux & core.gz from tinylinux 7.2 are used). > > I've generated an iso image with : > > mkisofs -o core.iso -b boot/core.img -c boot/boot.cat -hard-disk-boot core/ > > my iso image is ok with qemu on bios and uefi, and with qemu as hard disk > on uefi but not on bios. > > for the last case, I've use : > > isohybrid core.iso > > but I've this error : > > isohybrid: core.iso: unexpected boot catalogue parameters > > what's my problem :-) > > regards.isohybrid is for "El Torito no-emulation" boot images (such as those using isolinux.bin) and you are using "El Torito hard disk emulation". Unfortunately, syslinux.efi v.6.03 is not capable of booting optical media in UEFI mode. Please read the wiki (and the "FAQ" link posted in the isohybrid wiki page). Regards, Ady.> _______________________________________________ > Syslinux mailing list > Submissions to Syslinux at zytor.com > Unsubscribe or set options at: > http://www.zytor.com/mailman/listinfo/syslinux
> Hi, > > Pascal wrote: > > mkisofs -o core.iso -b boot/core.img -c boot/boot.cat -hard-disk-boot core/ > > my iso image is ok with qemu on bios and uefi, > > Astounding. As CD-ROM this is not supposed to work with UEFI unless the > firmware emulates BIOS. What particular UEFI firmware did you use ? > > > and with qemu as hard disk on uefi but not on bios. > > That's even more astounding. The UEFI would have to look into the ISO 9660 > filesystem or interpret the El Torito boot info prepared for BIOS.I think that "in qemu as hard disk" means that he is not booting it as CD-ROM, so no iso9660 in this case; but I could be misinterpreting the words.> > > > isohybrid: core.iso: unexpected boot catalogue parameters > > That's because ISOLINUX boot images are binary programs which get registered > in the El Torito catalog as "no emulation" images. Your core.img is registered > (by option -hard-disk-boot) as "hard disk emulation" image. > > http://git.zytor.com/syslinux/syslinux.git/tree/utils/isohybrid.c > bails out in line 526, because variable de_media is 4 and not 0. > > For BIOS booting from CD-ROM you need to use "isolinux.bin" as boot image > which you give to mkisofs via option -b. Instead of >@Thomas, please remember that, if we forget for a moment about other constraints and conditions (e.g. isohybrid, UEFI, whatever), a CD-ROM using "El Torito hard disk emulation" can still be bootable in BIOS mode.> -hard-disk-boot > > you have to use > > -no-emul-boot -boot-load-size 4 -boot-info-table > > See http://www.syslinux.org/wiki/index.php?title=ISOLINUX > > For UEFI from CDROM you need a FAT filesystem image with EFI boot files > like /efi/boot/bootx64.efi in it. Note that the EFI boot software of > SYSLINUX does not boot from CD-ROM, even if properly wrapped and announced > in El Torito. ISOs which work from CD-ROM mostly use GRUB-equipped FAT > images for UEFI. > > The UEFI boot image has to be announced in El Torito by the ISO producer > program. See options > > -e isolinux/efiboot.img -no-emul-boot > > or > > -eltorito-platform 0xEF -eltorito-boot isolinux/efiboot.img -no-emul-boot > > in > http://www.syslinux.org/wiki/index.php?title=Isohybrid#UEFI > ("isolinux/efiboot.img" is the FAT image with content from other boot loader > projects or an EFI-ready operating system kernel.) > > Such an ISO is then ready for being processed by isohybrid, so that > it afterwards has MBR BIOS x86 boot code and partition tables pointing > to the FAT filesystem for UEFI. > > > Have a nice day :) > > Thomas >Also, there is at least one more method to boot optical media in UEFI mode: using UDF. Unfortunately, this doesn't change the fact that syslinux.efi v.6.03 cannot boot optical media in UEFI mode (in spite of Peter hinting about such capabilities in some email in the past). Regards, Ady.> _______________________________________________ > Syslinux mailing list > Submissions to Syslinux at zytor.com > Unsubscribe or set options at: > http://www.zytor.com/mailman/listinfo/syslinux
when you say """ Unfortunately, syslinux.efi v.6.03 is not capable of booting optical """, you talk about isolinux.bin ? because my iso image with a "good" alternate eltorito boot image (eg. "uefi ready") is booting with qemu (qemu -cdrom core.iso -bios uefi.fd) and is also booting in hard disk mode (qemu -hda core.iso -bios uefi.fd). Le mercredi 21 d?cembre 2016, Ady Ady via Syslinux <syslinux at zytor.com> a ?crit :> > > hello every body, > > > > I'm trying to build an isohybrid image based on syslinux able to boot on > > bios and uefi with optical disk or usb key. > > > > I've build a 16Mb hard disk image (core.img) with necessary parts for > bios > > (legacy bootable partition, protective mbr, gptmbr.bin & syslinux > > installation) and for uefi (gpt, esp, /efi/boot/bootx64.efi & syslinux > > files). > > > > my hard disk image is ok - eg. bootable - with qemu on bios and uefi > > (vmlinux & core.gz from tinylinux 7.2 are used). > > > > I've generated an iso image with : > > > > mkisofs -o core.iso -b boot/core.img -c boot/boot.cat -hard-disk-boot > core/ > > > > my iso image is ok with qemu on bios and uefi, and with qemu as hard disk > > on uefi but not on bios. > > > > for the last case, I've use : > > > > isohybrid core.iso > > > > but I've this error : > > > > isohybrid: core.iso: unexpected boot catalogue parameters > > > > what's my problem :-) > > > > regards. > > isohybrid is for "El Torito no-emulation" boot images (such as those > using isolinux.bin) and you are using "El Torito hard disk emulation". > > Unfortunately, syslinux.efi v.6.03 is not capable of booting optical > media in UEFI mode. Please read the wiki (and the "FAQ" link posted in > the isohybrid wiki page). > > Regards, > Ady. > > > _______________________________________________ > > Syslinux mailing list > > Submissions to Syslinux at zytor.com <javascript:;> > > Unsubscribe or set options at: > > http://www.zytor.com/mailman/listinfo/syslinux > > > > _______________________________________________ > Syslinux mailing list > Submissions to Syslinux at zytor.com <javascript:;> > Unsubscribe or set options at: > http://www.zytor.com/mailman/listinfo/syslinux >