Benutzer-Werkzeuge

Webseiten-Werkzeuge


mkisofs

mkisofs

  • ISO-9660 - international standardisiertes Dateisystem für optische Datenträger (z.B.: CD-ROM, DVD-ROM, Blu-ray Disc); Das Ziel dieser Norm ist die Unterstützung verschiedener Betriebssysteme wie z. B. Microsoft Windows, Mac OS und UNIX-Systeme, so dass Daten ausgetauscht werden können.
    • 08. Juli 1994: Rock Ridge - Erweiterung von ISO-9660 für Unix-Derivate, es beherscht die Unix-typischen Unix-Dateirechte
    • 08. Juli 1994: Joliet - ist ein Standard von Microsoft; Es wurde nicht als Erweiterung des ISO-9660-Standards definiert, sondern basiert auf den Datenstrukturen von ISO 9660, die anders als im Standard interpretiert werden.
    • Januar 1995: El Torito - Erweiterung von ISO-9660, damit Computer (die dafür durch ein entsprechendes BIOS eingerichtet sind) direkt von CD-ROM starten können, ohne dass die vorherige Installation eines Betriebssystems auf dem Festplattenlaufwerk erforderlich ist.
  • Universal Disk Format - UFS ist der Nachfolger von ISO-9660; Im Vergleich zu ISO 9660 fallen bei UDF einige Beschränkungen weg.

Image bauen

Die APPLICATION_ID ist der Name der CD/DVD (ISO-Image) und darf nicht länger als 128 Zeichen sein!

Das lässt sich so ganz einfach so sicherstellen:

# basename "${APPLICATION_ID}" | cut -c 1-128

simples Daten-Image

# mkisofs -U -r -input-charset iso8859-15 -o datenimage.iso /meine_dateien

simples Audio-Image

# mkisofs -U -r -input-charset iso8859-15 -pad -o audioimage.iso /meine_wav_dateien

ISO-Image auf FreeBSD erstellen

# mkisofs -D -U -R -nobak -A "${APPLICATION_ID}" -pad -input-charset utf8 -o datenimage.iso /meine_dateien

ISO-Image auf Solaris erstellen

# mkisofs -D -U -R -nobak -A "${APPLICATION_ID}" -pad -input-charset iso8859-15 -o datenimage.iso /meine_dateien

oder

# mkisofs -pad -hfs -joliet-long -r -relaxed-filenames -l -N -d -D -o datenimage.iso /meine_dateien

ISO-Image auf Linux erstellen

# mkisofs -D -U -R -nobak -A "${APPLICATION_ID}" -pad -input-charset UTF-8 -o datenimage.iso /meine_dateien

ISO-Images für den Windoofs-Emulator bauen

# mkisofs -D -U -R -J -joliet-long -l -nobak -A "${APPLICATION_ID}" -o windoofsimage.iso /windoofs_dateien

bootfähiges Image bauen

eine bootfähige EL Torito - CD mit mkisofs erstellen

siehe auch: https://www.pks.mpg.de/~mueller/docs/suse10.0/suselinux-manual_de/manual/sec.grub.bootcd.html

als erstes eine bootfähige CD (ich habe die Installations-CD für Ubuntu 18.04.1 LTS / Server / 64 Bit verwendet), danach kann man den El Torito-Kode auslesen:

> apt install genisoimage
> geteltorito /dev/cdrom > eltorito.img
Booting catalog starts at sector: 193 
Manufacturer of CD: 
Image architecture: x86
Boot media type is: no emulation
El Torito image starts at sector 394922 and has 4 sector(s) of 512 Bytes
Image has been written to stdout ....

> ls -lha eltorito.img
-rw-r--r-- 1 root root 2,0K Sep 19 18:12 eltorito.img

Jetzt haben wir die wichtigste Zutat, um eine bootfähige CD selber erstellen zu können.

Als nächstes erstellen wir uns einen Verzeichnisbaum, der die nötigen Dateien zum booten enthält:

> mkdir -p iso/boot/grub
> cp eltorito.img iso/boot/grub
> cp /boot/vmlinuz iso/boot/
> cp /boot/initrd iso/boot/
> cp /boot/message iso/boot/

Damit GRUB diese Dateien finden kann, kopieren Sie die Datei menu.lst nach iso/boot/ und ändern Sie darin die Angaben so, dass auf das CD-ROM-Gerät verwiesen wird. Hierzu ersetzen Sie die Gerätebezeichnung für die Festplatte (die in der Form (hd*) vor dem Pfad angegeben ist) durch eine Angabe zum CD-ROM-Laufwerk (cd):

> cp /boot/grub/menu.lst iso/boot/

> vi iso/boot/menu.lst
gfxmenu (cd)/boot/message
timeout 8
default 0

title Linux
    kernel (cd)/boot/vmlinuz root=/dev/hda5 vga=794 resume=/dev/hda1 \
           splash=verbose showopts
    initrd (cd)/boot/initrd

Abschließend legen Sie mit dem folgenden Befehl ein ISO-Image an:

> mkisofs -R -b boot/grub/eltorito.img -no-emul-boot -boot-load-size 4 -boot-info-table -o boot_cd.iso iso

eine bootfähige CD mit xorriso erstellen

siehe auch:

Der Klassiker für die Erstellung von ISO 9660-Images ist das Programm mkisofs. Aus Gründen der Lizenzierung und anderer Probleme mit seinem Autor, stellt Debian einen Fork von mkisofs mit dem Namen genisoimage bereit, diese Abspaltung erfolgte 2006 und wurde dann unabhängig weiterentwickelt. Genisoimage bekommt mittlerweile keine neuen Funktionen und auch keine Bugfixes mehr. Man sollte es nur noch verwenden, wenn die Optionen -udf oder -hfs benötigt werden. In den meisten Anwendungsfällen, insbesondere bei bootfähigen ISO 9660-Dateisystemen, Archivierung und Sicherung, ersetzt xorrisofs die vorgenannten Programme durch xorriso.

> genisoimage -v -J -r -V MY_DISK_LABEL -o /home/user/file.iso /home/user/for_iso
> xorrisofs -v -J -r -V MY_DISK_LABEL -o /home/user/file.iso /home/user/for_iso
/home/http/wiki/data/pages/mkisofs.txt · Zuletzt geändert: von manfred