Ansichten eines Informatikers

Ubuntu LiveCD individualisieren

Hadmut
24.4.2007 9:36

Linux LiveCDs sind eine praktische Sache, vor allem für unterwegs, wenn man keinen Notebook mitnehmen kann oder will. Beispielsweise die Ubuntu-LiveCD sind eine gute Sache. Allerdings fehlen einem darauf manche Softwarepakete wie cryptsetup oder individuelle Daten wie ssh- oder ssl-Schlüssel usw. Das kann man ändern.

Hauptproblem ist, daß die Ubuntu-LiveCDs so vollgepackt sind, daß sie eine CDROM füllen und man nichts mehr hineinbekommt. Man braucht also Platz. Dazu kann man:

  • Das Verzeichnis /programs löschen, in dem einige Windows-Programme sind, die man normalerweise nicht braucht.
  • Notfalls im komprimierten Linux-Image auf der CD (s.u.) unbenötigte Pakete oder Dateien (z. B. die doc-Verzeichnisse) löschen
  • Statt Ubuntu Xubuntu nehmen. Der Desktop ist auch sehr gut, hat ein paar Sachen weniger aber dafür noch ordentlich Platz und ist zudem schneller.
  • Auf eine DVD brennen.

Die Schritte (als root ausführen, je nach Ubuntu-Version den Pfad /casper entsprechen anpassen):

  1. Man braucht ein Arbeitsverzeichnis mit mindestens ca. 3.5 GByte freiem Platz.
  2. Ubuntu CD mounten oder ISO-Image loopmounten und mit cp -a in das Arbeitsverzeichnis, Unterverzeichnis cdrom kopieren.
  3. gegebenenfalls in der Kopie das Unterverzeichnis programs löschen um Platz zu bekommen.
  4. mit unsquashfs die Datei casper/filesystem.squashfs in ein neues Unterverzeichnis des Arbeitsverzeichnisses auspacken und sie dann löschen.
  5. Die nötigen Änderungen vornehmen. Beispielsweise neue Ubuntu/Debianpackages nach cdrom/root kopieren, mit chroot und dpkg -i installieren und danach wieder löschen. Oder Konfigurationsdateien nach cdrom/home/ubuntu. Oder was man halt so braucht und will.
  6. Mit mksquashfs aus dem geänderten Linux-Verzeichnis wieder eine neue cdrom/casper/filesystem.squashfs erstellen. Die ist dann das neue Linux-Plattenimage.
  7. Mit mkisofs -R -o cdrom.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table cdrom ein ISO-Image erstellen und auf CD brennen.
  8. Testen und Fertig.

Update (19.6.2007):

7 Kommentare (RSS-Feed)

[…] Ubuntu LiveCD individualisieren Die ist dann das neue Linux-Plattenimage. Mit mkisofs -R -o cdrom.iso -b isolinux/isolinux.bin -c isolinux/boot-info-table cdrom ein ISO-Image erstellen und auf CD brennen. Testen und Fertig. […]


[…] Ubuntu LiveCD individualisieren Die ist dann das neue Linux-Plattenimage. Mit mkisofs -R -o cdrom.iso -b isolinux/isolinux.bin -c isolinux/boot-info-table cdrom ein ISO-Image erstellen und auf CD brennen. Testen und Fertig. […]


[…] Ubuntu LiveCD individualisieren Die ist dann das neue Linux-Plattenimage. Mit mkisofs -R -o cdrom.iso -b isolinux/isolinux.bin -c isolinux/boot-info-table cdrom ein ISO-Image erstellen und auf CD brennen. Testen und Fertig. […]


KS
18.6.2007 13:05
Kommentarlink

Vielen Dank für diese sehr gute und sehr hilfreiche Anleitung.

Wie sieht es allerdings mit der Anpassung des Grub der LiveCD aus? Der befindet sich ja nicht in filesystem.squashfs.

MFG
KS


Hadmut
19.6.2007 22:34
Kommentarlink

Gar nicht. Die LiveCD bootet nicht über Grub, sodern über isolinux. Siehe Unterverzeichnis isolinux.


KS
25.6.2007 10:40
Kommentarlink

Vllt. könnte man in die Einleitung noch einfügen, dass man in Edgy das “unsquashfs” nicht benutzen sollte, da es dort einen üblen Bug gibt:
#89417 @ launchpad

Alternativ kann das filesystem.squashfs auch mit

mount -t squashfs -o -loop /path/to/filesystem.squashfs /mnt/squash

gemountet werden.


Hadmut
25.6.2007 12:02
Kommentarlink

An sich hab ich es schon nachgetragen, aber trotzdem Danke für den expliziten Hinweis.