> 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
Le mercredi 21 d?cembre 2016, Ady Ady via Syslinux <syslinux at zytor.com> a ?crit :> > > 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 ?https://www.kraxel.org/repos/jenkins/edk2/> > > > 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.the iso image is used as a hard disk image like this : qemu -hda core.iso -bios uefi.fd uefi.fd (pure) come from https://www.kraxel.org/repos/jenkins/edk2/> > > > > > > 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.rewriting error message ?> > > > 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.:-) and do you know how to do ? or is it better to stop with hard-disk-boot and go on isolinux.bin ?> > > -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 <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 >
Hi, Pascal wrote:> rewriting error message [of program isohybrid] ?It could be more specific, indeed. The error is detected in function read_catalogue() but not reported there. Its caller main() then does not know which of the four error conditions triggered the refusal: de_boot != 0x88 : Not an El Torito boot catalog. de_media != 0 : First boot image is not a no-emul-boot El Torito boot image for BIOS, which isolinux.bin should be. (de_seg != 0 && de_seg != 0x7C0) : Program start address of El Torito boot image for BIOS is not what isolinux.bin would contain. de_count != 4 : The amount of data to load and execute by BIOS is not 2048 bytes, which isolinux.bin expects to be.> is it better to stop with hard-disk-boot > and go on isolinux.bin ?If you want to apply program isohybrid, then you must use isolinux.bin. If the program would be willing to patch the hardisk image file, then it would spoil it. Therefore it checks a magic number of the boot image in line 1050: if (memcmp(buf, "\xFB\xC0\x78\x70", 4)) errx(1, "%s: boot loader does not have an isolinux.bin hybrid " \ "signature. Note that isolinux-debug.bin does not support " \ "hybrid booting", argv[0]); If you do not want to apply isohybrid then you are free to use other boot images with other mkisofs El Torito parameters. This opportunity is demonstrated by your hard disk emulation image (although i currently think it is rather too successful :). Have a nice day :) Thomas