Re: How to change installer image?
Hi,
Steve McIntyre wrote:
> You'll also need to use xorriso rather than genisoimage.
Thank you for flying xorriso. :)
> If you look in the
> file .disk/mkisofs on the original CD, you'll see the exact command
> that was used to make the original image,
.disk/mkisofs is one of my favorites. So i can see what Steve
does with my program.
One needs some background knowledge, though, to derive the options
for a new run:
The option -isohybrid-mbr, which is essential for BIOS USB stick,
needs an MBR input file, which has to stem from the same SYSLINUX
version as isolinux/isolinux.bin in the ISO:
-isohybrid-mbr syslinux/usr/lib/syslinux/isohdpfx.bin
The first 512 bytes of the original isohybrid ISO image
are a harmlessly modified copy of the original input file.
So one may retrieve the new isohybrid MBR template by:
dd if=debian-7.8.0-i386-CD-1.iso bs=512 count=1 of=/tmp/isohdpfx.bin
and use it in the xorriso run as
-isohybrid-mbr /tmp/isohdpfx.bin
Further one may leave out the Jigdo producing options:
-checksum_algorithm_iso md5,sha1,sha256,sha512
...
-jigdo-jigdo /org/cdbuilder.debian.org/dst/deb-cd/out/2amd64/debian-7.7.0-amd64-NETINST-1.jigdo -jigdo-template /org/cdbuilder.debian.org/dst/deb-cd/out/2amd64/debian-7.7.0-amd64-NETINST-1.template -jigdo-map Debian=/org/cdbuilder.debian.org/src/ftp/debian/ -jigdo-exclude boot1 -md5-list /org/cdbuilder.debian.org/src/deb-cd/tmp/2amd64/wheezy/md5-check -jigdo-min-file-size 1024 -jigdo-exclude 'README*' -jigdo-exclude /doc/ -jigdo-exclude /md5sum.txt -jigdo-exclude /.disk/ -jigdo-exclude /pics/ -jigdo-exclude 'Release*' -jigdo-exclude 'Packages*' -jigdo-exclude 'Sources*'
...
So i propose to do for an i386 ISO:
dd if=debian-7.8.0-i386-CD-1.iso bs=512 count=1 of=/tmp/isohdpfx.bin
xorriso -as mkisofs \
-r \
-V 'Debian 7.8.0 i386 1' \
-o debian-7.8.0-i386-CD-1-mod.iso \
-J \
-isohybrid-mbr /tmp/isohdpfx.bin \
-partition_offset 16 \
-joliet-long \
-cache-inodes \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
./debian-7.8.0-i386-CD-1-mod/
rm /tmp/isohdpfx.bin
The amd64 ISOs get some extra options for EFI after -boot-info-table:
-eltorito-alt-boot \
-e boot/grub/efi.img \
-no-emul-boot \
-isohybrid-gpt-basdat \
-isohybrid-apm-hfsplus \
The last option -isohybrid-apm-hfsplus is actually useless here,
because no HFS+ flesystem tree gets produced.
If you get xorriso-1.3.8 from http://www.gnu.org/software/xorriso
then you can inspect the result's boot equipment:
xorriso -indev debian-7.8.0-i386-CD-1-mod.iso \
-report_el_torito plain \
-report_system_area plain
My test (with debian-7.3.0-i386-netinst.iso) yields:
El Torito catalog : 1658 1
El Torito cat path : /isolinux/boot.cat
El Torito images : N Pltf B Emul Ld_seg Hdpt Ldsiz LBA
El Torito boot img : 1 BIOS y none 0x0000 0x00 4 1659
El Torito img path : 1 /isolinux/isolinux.bin
El Torito img opts : 1 boot-info-table isohybrid-suitable
System area options: 0x00000102
System area summary: MBR isohybrid cyl-align-on
ISO image size/512 : 571392
Partition offset : 16
MBR heads per cyl : 64
MBR secs per head : 32
MBR partition table: N Status Type Start Blocks
MBR partition : 1 0x80 0x17 64 571328
Else have a look at the MBR partition table by fdisk :
$ /sbin/fdisk -lu debian-7.8.0-i386-CD-1-mod.iso
...
64 heads, 32 sectors/track, 0 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
debian-7.8.0-i386-CD-1-mod.iso1 * 64 571391 285664 17 Hidden HPFS/NTFS
Have a nice day :)
Thomas
Reply to: