> Hi, > > > All the "isohybrid.exe" I know of are based on the Perl variant. > > I just got one from > http://www.filewatcher.com/m/isohybrid.exe.39568-0.html > > Its strings seem not to stem from isohybrid.pl. > > Digging in slitaz source brought a shell script (that would be > variant #5 then): > http://hg.slitaz.org/wok/file/313b384e2a06/syslinux/stuff/tools/isohybrid.sh > > But isohybrid.exe must have a different source. > > How about this as source of variant #4 (isohybrid.exe): > > http://cook.slitaz.org/cooker.cgi?stuff=syslinux/stuff/iso2exe/iso2exe.c > > Despite its name it has: > return "Usage: isohybrid.exe file.iso [--forced]\n"; > and many of the other strings which i see in "isohybrid.exe". >My initial focus was on (finding) documentation. I hope we are not going too much off-topic talking about the isohybrid.exe variant from Slitaz, Anyway... The receipt of the "syslinux-extra" package in Slitaz includes: cp -a $src/isohybrid.sh $fs/usr/bin/isohybrid cp -a $src/iso2exe/iso2exe $fs/usr/bin/iso2exe (Note: I am intentionally not posting the protocol for the following paths.) *_At the time I am writing this email_*, the current receipt is: hg.slitaz.org/wok/file/313b384e2a06/syslinux-extra/receipt An additional relevant receipt is the one for "syslinux-tools": hg.slitaz.org/wok/file/313b384e2a06/syslinux-tools/receipt which is the package that includes isohybrid.exe. Indeed the isohybrid.sh script currently is: hg.slitaz.org/wok/file/313b384e2a06/syslinux/stuff/tools/isohybrid.sh So, using the current isohybrid.in included in official upstream Syslinux, perhaps a similar script and makefile could generate a matching isohybrid.exe in each official (pre-)release. If it could be based on isohybrid.c, even better.> > > http://www.syslinux.org/archives/2014-June/022259.html > > suggests that the 2 prior bug reports: > > http://www.syslinux.org/archives/2012-May/017843.html > > http://www.syslinux.org/archives/2012-May/017871.html > > might not be the only ones. > > Yeah. It also has problems with large (image) file support. > Already reported in may and diagnosed by hpa: > > http://www.syslinux.org/archives/2014-May/022041.html: > > The right thing to do is compile it with #define _FILE_OFFSET_BITS 64 > > and change fseek to fseeko with the appropriate type being off_t.This has been already applied in the Syslinux git (zytor repo).> > This brings of course the question how to do this on MS-Windows. > > That's why i asked for a DOS exe that can handle 43 bit file byte > addressing (32 bit ISO block count + 11 bits usual block size)I don't know about that :(.> > > Further there is the freshly spotted misnomer "AFP" in the help > text of isohybrid.c. It should be "APM". > > > ---------------------------------------------------------------- > Known Variants up to now: > > - isohybrid.in -> isohybrid.pl from SYSLINUX, no EFI/GPT support > > - isohybrid.c -> isohybrid from SYSLINUX > > - libisofs/make_isohybrid_mbr.c from libburnia, needs isohdp[fp]x*.bin > -> libisofs, xorriso from SYSLINUX > > - isohybrid.sh from SliTaz, no EFI/GPT support > > - iso2exe.c -> isohybrid.exe from SliTaz, no EFI/GPT support > > ----------------------------------------------------------------Good _starting_ point for documentation.> > If somebody wants to assess the quality, i would propose to inspect > the resulting ISOs by xorriso >= 1.3.7 > > xorriso -indev image.iso \ > -report_el_torito plain \ > -report_system_area plain > > It knows El Torito, MBR, GPT, and APM and complains about some known > flaws or pitfalls.That's great. Since xorriso is not always an available option for some users (e.g. other OS), I hope for The Syslinux Project to still get help from developers (regarding isohybrid or other matters).> > > Have a nice day :) > > ThomasRegards, Ady.
Hi, Ady:> > > http://www.syslinux.org/archives/2014-June/022259.htmlme:> > Already reported in may and diagnosed by hpa: > > http://www.syslinux.org/archives/2014-May/022041.html: > > > The right thing to do is compile it with #define _FILE_OFFSET_BITS 64 > > > and change fseek to fseeko with the appropriate type being off_t.Ady:> This has been already applied in the Syslinux git (zytor repo).The replacement of fseek(3) by fseeko(3) has not happened. Only the sizeof(off_t) has been forced to 64 bit on 32 bit systems in Makefile by CFLAGS = ... -D_FILE_OFFSET_BITS=64 ... Thus above message and patch of Kai Kang should be considered. (The patch looks ok to me.) Other occurences of fseek() might cause problems too. Each change to fseeko() has to be checked, whether the type of the offset argument is indeed off_t. Example: uint32_t catoffset = 0; ... if (fseek(fp, catoffset * 2048, SEEK_SET)) The call has to become something like if (fseeko(fp, ((off_t) catoffset) * 2048, SEEK_SET)) Adresses which are surely smaller than 31 bit could be left unchanged. E.g.: if (fseek(fp, 17 * 2048, SEEK_SET)) Kai Kang's change is already (off_t), because of isostat.st_size as of man 2 stat. Have a nice day :) Thomas
> Hi, > > Ady: > > > > http://www.syslinux.org/archives/2014-June/022259.html > > me: > > > Already reported in may and diagnosed by hpa: > > > http://www.syslinux.org/archives/2014-May/022041.html: > > > > The right thing to do is compile it with #define _FILE_OFFSET_BITS 64 > > > > and change fseek to fseeko with the appropriate type being off_t. > > Ady: > > This has been already applied in the Syslinux git (zytor repo). > > The replacement of fseek(3) by fseeko(3) has not happened. > Only the sizeof(off_t) has been forced to 64 bit on 32 bit systems > in Makefile by > CFLAGS = ... -D_FILE_OFFSET_BITS=64 ... > > Thus above message and patch of Kai Kang should be considered. > (The patch looks ok to me.)First: <http://git.zytor.com/?p=syslinux/syslinux.git;a=commit;h=bc360f8dbdf2 7bff07bb5db8d0ea9a7b10d8e3d1> And then: <http://git.zytor.com/?p=syslinux/syslinux.git;a=commit;h=ede6eb35f3cd 70a90cbcd10f72276afd449642a9> Regards, Ady.
Hi, i have written an introduction to isohybrid and put it on the discussion page of the ISOLINUX wiki. http://www.syslinux.org/wiki/index.php/Talk:ISOLINUX#Proposal_for_description_of_isohybrid Review and proposals are appreciated. The reference to "above mkisofs command" anticipates the final position of this text at the end of http://www.syslinux.org/wiki/index.php/ISOLINUX Not yet covered are: - The topic how to produce an UEFI boot image (FAT filesystem) which can be used with option -e of genisoimage or xorrisofs. - The topic how to bring the isohybridized image onto an USB stick. (Especially on MS-Windows ...) Have a nice day :) Thomas
Hi, On 23/06/2014 12:07, Thomas Schmitt wrote:> Hi, > > i have written an introduction to isohybrid and put it on > the discussion page of the ISOLINUX wiki. > > http://www.syslinux.org/wiki/index.php/Talk:ISOLINUX#Proposal_for_description_of_isohybrid > > Review and proposals are appreciated. Caveat emptor: this is a review by an end user (not a developer), who don't know the specs like that of MBR/GPT/UEFI and can hardly understand the meaning and purposes of options of mkisofs or xorriso. More specifically, I provide hybrid ISO images of polyglot installers for Slackware on http://slint.fr/installers and http://slint.fr/testing My goal is that make these installers bootable on as many different hardware and firmware as possible, including a wide variety of Macs. So ideally I'd like to find in the documentation the commands to make very versatile hybrid ISO images, and instructions to prepare the files' tree before running these commands. With this in mind, here are my remarks: _Unde PC-BIOS you write: The ISO 9660 production program xorriso can enhance its results by isohybrid, if an MBR template file from the local SYSLINUX installation is provided. The names of these files match the pattern isohdpfx*.bin and are to find in SYSLINUX directory ./mbr or installed as e.g. /usr/lib/syslinux/isohdpfx.bin. But in ./mbr (Syslinnux-407) I find three files isohdpfx{,_c,_f}f.bin so whare are their respective differences and/or use cases? _When you write just before the UEFI title: The result needs no further treatment by isohybrid tools. I understand that means that after xorriso -as <options> CD_root there is no need to run isohybrid <options> ouput.iso as output. ios is aleady hybrid. Is that right? _More generally, giving examples of isohybdrid commands in various use case would be helpful. _Under UEFI you propose a command "genisoimage <options> CD_root". Would the options be identical if instead of genisoimage we use xorriso? I ask as I'm not a Fedora user, thus don't have their variant of genisoimage. _At the end of the page you give an example where the GPT equipment is added. But in this thread: http://web.archiveorange.com/archive/v/mwjwmhaWun4iHTR2s5Kg you propose a command that would allow to boot on a Mac. Could you provide such an example in the description of isohybrid? Of course I'm a bit opportunist here as I'd like that our installers can boot on a Mac without using rEFInd (I assume that I can use Matthew Garret's hfs-bless as does Fedora in mactel-boot)... So at least for me a command that would produce an image as versatile as possible would e useful. <OT>In Fedora-Live-Desktop-x86_64-20-1.iso in macboot.img I see among other files: EFI BOOT BOOTX64.efi grub64.efi System Library CoreServices boot.efi: same size as EFI/BOOT/BOOTX64.efi grubx64.efi: same as EFI/BOOT/grubx64.efi Does someone know why two .efi files are needed and which commands are used to build them? </OT> > Not yet covered are: > > - The topic how to produce an UEFI boot image (FAT filesystem) > which can be used with option -e of genisoimage or xorrisofs. That's exactly what I need! > - The topic how to bring the isohybridized image onto an USB stick. > (Especially on MS-Windows ...) Maybe something like that can suffice: On linux: type "lsblk -f" to make sure you wont wipe out the wrong device, then "dd if=<name of hybrid ISO image> of=<name of device> bs=1M" On Windows: use Rufus, cf. http://rufus.akeo.ie/
> Hi, > > i have written an introduction to isohybrid and put it on > the discussion page of the ISOLINUX wiki. > > http://www.syslinux.org/wiki/index.php/Talk:ISOLINUX#Proposal_for_description_of_isohybrid > > Review and proposals are appreciated. > > The reference to "above mkisofs command" anticipates the final > position of this text at the end of > http://www.syslinux.org/wiki/index.php/ISOLINUX > > > Not yet covered are: > > - The topic how to produce an UEFI boot image (FAT filesystem) > which can be used with option -e of genisoimage or xorrisofs. > > - The topic how to bring the isohybridized image onto an USB stick. > (Especially on MS-Windows ...) > > > Have a nice day :) > > ThomasHere are my personal opinions / comments. The items do not follow any particular order, and I might be slightly overlapping or repeating some of them. My apologies. _ Wiki should use more user-friendly language and "less deep" technical information. _ In the Syslinux wiki, "PC-BIOS" should rather be called plain "BIOS". _ Specific ISO-building tools should not be part of the generic explanation, but rather a separate section, such as "Examples". _ Specific details (e.g. about the usage of the respective ISO-building tools) should be searched in the respective documentation for each tool, not in the Syslinux wiki. There are several reasons for this point. _ It should be clear for a common reader that any commands involving ISO-building tools are just very basic examples, and _not_ to be taken as "this works on every case for every need and this is all you need to type in so to make it work". _ Mentioning paths for specific distros should be avoided if possible. The respective information, in case it is needed by the user, should be search in the relevant distro's documentation / packages / tools / maintainers. _ When a command or tool works only under certain OS or OS-type (e.g. Linux), this fact should be mentioned. _ Technical details that are usually also found in other sources (e.g. in Wikipedia) should be reduced to the minimum necessary for a common user/reader. Most common users would be searching an explanation if isohybrid's command line options, or the appropriate / relevant / preferred use case of one bin file over the others. Other users would be looking for a "HowTo" or to solve some problem. When information is too-technical, or the wording sounds too-technical, most users won't even read it. _ The different iso*.bin files should be explained in one wiki page, and not to be repeated but rather linked to. They should be explained _either_: _ in the "mbr" page (where other alternative *.bin files are already mentioned); or, _ in the ISOLINUX page; or, _ in the new "isohybrid" page, but only in one of them. _ The specific wiki formatting is not important at this time. _ The firmware "target(s)" can be different than the one used by the host where the ISOLINUX and/or isohybrid image is being built. Multiple simultaneous firmware targets are allowed (although this possibility depends on the variant and version of the isohybrid program too). _ Eventually "isohybrid" should be a separate page in the wiki, and not part of the ISOLINUX page. Adding relevant links can be done later. _ Relevant items for common users: _ command options supported by each isohybrid variant; _ if the version of the isohybrid program should match the version of ISOLINUX (perhaps depending on isohybrid variant, or version that includes a new feature, or ISO-building tool used, or...), this fact should be clearly mentioned. _ if different iso*.bin files are to be used for different needs, then each case should be clear for the common user. _ What to do with the resulting ISO image; (write to optical media, or to USB drive - users should search for specific details / methods elsewhere). This is already mentioned in the ISOLINUX page, but when a separate "isohybrid" page is created this information should be part of the new page (and not repeated). _ xorriso builds the ISO image, and it can (optionally and) simultaneously make it isohybrid too. This is an _alternative_ method. _ The different _alternatives_ should be clear to a common user, specially to avoid confusion with "serial-like" steps. _ Yet, the steps should be "generic", as opposed to getting into the details that are already part of tools' documentation and distros' wikis. Basic examples should be OK, as long as the user understands that these are basic pointers and not the full extent of the documentation for each ISO-building tool. _ This wiki page should focus on the isohybrid variants and their available options / differences. This page should not be covering "how to build any ISO image from any source of files using each and every tool available in whichever OS for every goal any user could think about". _ BTW, mkisofs supports building ISO images for EFI, but the specific arguments are different than those used by xorriso. Thank you, Ady.