Joerg Schilling wrote:
Bill Davidsen <[EMAIL PROTECTED]> wrote:
This has been on my "someday list" for a while, does it have the
capability of taking a bootable image, letting me change the non-boot
files, and then giving me another burnable image? I'm thinking Linux
install disks with the extras and upgrades added, to simplify creation.
While I know how to make bootable media, from scratch if need be, I
don't much enjoy the steps. :-(
This will not work without non-artficial intelligence as you need tricks to
make a CD boot on every BIOS.
My assumption is that if you start with a working bootable media, all
you have to do is find out what tricks were used in the first place. As
you note below you can get that information from isoinfo, and since you
are changing the content rather than the boot logic or image you just
need to keep what you have. I was more aiming this at xorriso, since
that already does most of what's needed, and Thomas may be more inclined
to prove it can be done than explain why it can't.
Clearly making a bootable CD is very easy, since I have done it just by
following the explanation you made in an early man page, and knowing
that the the "boot block" in eltorito is just a floppy image, which
happens to be the largest size you can fit on a standard floppy using
four 32k sectors per track, or maybe eight 16k with a short IRG.
I appreciate that you are mentioning all the odd case which are
difficult, but if eltorito boot can be done correctly, and other boot
methods are rejected, that would still be useful.
The best way to re-create a bootable CD is to manually find the boot image
first. This can be done by calling "isodebug":
isodebug -i /tmp/sol-nv-b87-x86-dvd.iso
ISO-9660 image created at Mon Apr 7 12:32:02 2008
Cmdline: 'mkisofs 2.01 -b boot/grub/stage2_eltorito -c .catalog -no-emul-boot
-boot-load-size 4 -boot-info-table -relaxed-filenames -l -ldots -r -N -d -D -V
SOL_11_X86 -o .../solarisdvd.iso .../solarisdvd.product'
As yoou see, the boot image is "boot/grub/stage2_eltorito", however only the
first 2048 bytes of this file are announced in the ElTorito header:
isoinfo -d -i /tmp/sol-nv-b87-x86-dvd.iso
CD-ROM is in ISO 9660 format
System id: Solaris
Volume id: SOL_11_X86
Volume set id:
Publisher id:
Data preparer id:
Application id: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING
Copyright File id:
Abstract File id:
Bibliographic File id:
Volume set size is: 1
Volume set sequence number is: 1
Logical block size is: 2048
Volume size is: 1984486
El Torito VD version 1 found, boot catalog is in sector 10559
NO Joliet present
Rock Ridge signatures version 1 found
Eltorito validation header:
Hid 1
Arch 0 (x86)
ID ''
Key 55 AA
Eltorito defaultboot header:
Bootid 88 (bootable)
Boot media 0 (No Emulation Boot)
Load segment 0
Sys type 0
Nsect 4
Bootoff 2940 10560
What you see with this output is that the file /boot/grub/stage2_eltorito
starts at Sector # 10560.
As ElTorito only announces 2048 bytes from:
-r--r--r-- 1 0 0 133008 Apr 2 2008 [ 10560 00] stage2_eltorito
(this output if from isoinfo -i /tmp/sol-nv-b87-x86-dvd.iso -lR)
it is obvious that any automated attempt to re-create a bootable DVD from the
Solaris install DVD will not work. BTW: Linux CDs/DVDs look very similar.
I appreciate the warning, but doing the common case right and avoiding
doing the other cases wrong is still useful.
--
Bill Davidsen <[EMAIL PROTECTED]>
"Woe unto the statesman who makes war without a reason that will still
be valid when the war is over..." Otto von Bismark