[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: How to change installer image?



Hello,

Outstanding! Thank you, both Steve and Thomas! Based on Steve's hint I had 
it mostly right, but the isobybrid business was beyond my capabilities (and 
would have come to bite me once actually in front of the machine to be 
installed).

I'll report back once I got a chance to try the new image ...

Joh

Thomas Schmitt wrote:

> 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: