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

Re: mkisofs (was: Installer image for installation via ssh)



Hi,

i wrote:
> > But [genisoimage's] main problem is that nobody wants to do work in its
> > code, of which Joerg Schilling claims intellectual ownership.

> The first is regrettable. The second does not seem unjustified.

The man page of xorriso ends by
  CREDITS
  ...
  Compliments towards Joerg Schilling whose cdrtools served  me for ten
  years.

But said that, it is annoying to get accused of code stealing from a GPLed
software package, to get invited to contribute to cdrtools, and to get told
that you are not skilled enough to understand the greatness of cdrtools,
all simultaneously.


> >   https://wiki.debian.org/DebianInstaller/Modify/CD

> I lost the will to live after reading the third section. Like most
> accounts of this nature, it is long on commands to run but short on
> explanation of what is going on.

The experts want to dump knowledge before it falls victim to Alois Alzheimer.

That article seems to demonstrate in detail how one would add packages to
an existing installation ISO. Heavy googling might be needed to understand
what it does and how it is to be done nowadays.


> The wiki (AFAIK) has no structure in place to
> co-ordinate or drive essential changes. The best one can do is to alter
> individual pages. Or write new ones.

But from that it won't get better but only more fragmented.


> > That's why i propose file /.disk/mkisofs in the ISO as source of inspiration
> > about repacking that particular ISO.

> But no proposal to enhance https://wiki.debian.org/ManipulatingISOs
> with EFI information?

I could enhance it for firmware-9.4.0-i386-netinst.iso (too lazy to
search for 9.3.0) which was made by quite the same xorriso run as the
vanilla amd64 netinst.
But already arm64 would get its EFI boot equipment in a different way.

The ISOs themselves know best. If only there were not the many -jigdo-*
options which one has to remove to avoid the need for preparing suitable
Jigdo control files.
This reduces the salad substantially:

  $ sed -e "s/-jigdo.* '.*' //g" -e 's/-checksum.* md5.*,sha512 //' < /mnt/iso/.disk/mkisofs
  xorriso -as mkisofs -r -V 'Debian 9.4.0 i386 n' -o /srv/cdbuilder.debian.org/dst/deb-cd/out/Ci386/firmware-9.4.0-i386-NETINST-1.iso -J -J -joliet-long -cache-inodes -isohybrid-mbr syslinux/usr/lib/ISOLINUX/isohdpfx.bin -b isolinux/isolinux.bin -c isolinux/boot.cat -boot-load-size 4 -boot-info-table -no-emul-boot -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot -isohybrid-gpt-basdat -isohybrid-apm-hfsplus boot1 CD1

Then one has to explain that "syslinux/usr/lib/ISOLINUX/isohdpfx.bin"
is a path on hard disk, not in the ISO, whereas "isolinux/isolinux.bin"
is a path in the ISO. "isohdpfx.bin" may be taken from installed package
"isolinux" (/usr/lib/ISOLINUX/isohdpfx.bin) but better is to take it from
the ISO.

Further, option -isohybrid-apm-hfsplus is inappropriate, and -J is needed
only once. (Both does not harm, though.)

The path "/srv/cdbuilder.debian.org/...-NETINST-1.iso" should be replaced
by some suitable hard disk path, where the resulting ISO shall be stored.
The paths "boot1" and "CD1" should be replaced by the path to the unpacked
directory tree of the original ISO.

Now the task for enhancing the wiki would be to generalize this and to
explain it without driving the reader into suicide.
Not so easy.


Have a nice day :)

Thomas


Reply to: