Ubuntu LiveCD individualisieren
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):
- Man braucht ein Arbeitsverzeichnis mit mindestens ca. 3.5 GByte freiem Platz.
- Ubuntu CD mounten oder ISO-Image loopmounten und mit cp -a in das Arbeitsverzeichnis, Unterverzeichnis cdrom kopieren.
- gegebenenfalls in der Kopie das Unterverzeichnis programs löschen um Platz zu bekommen.
- mit unsquashfs die Datei casper/filesystem.squashfs in ein neues Unterverzeichnis des Arbeitsverzeichnisses auspacken und sie dann löschen.
- 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.
- Mit mksquashfs aus dem geänderten Linux-Verzeichnis wieder eine neue cdrom/casper/filesystem.squashfs erstellen. Die ist dann das neue Linux-Plattenimage.
- 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.
- Testen und Fertig.
Update (19.6.2007):
- Das unsquashfs-Programm von Ubuntu 6.10 (Edgy) hat ne Macke: Es setzt die set-id bits nicht richtig. Entweder Ubuntu 7.04 (feisty) oder Debian verwenden oder richtig als squashfs mounten.
- Siehe auch https://help.ubuntu.com/community/LiveCDCustomization
- http://www.tecchannel.de/pc_mobile/linux/438588/
- http://wiki.oss-watch.ac.uk/UbuntuDapper/Remaster
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. […]
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
Gar nicht. Die LiveCD bootet nicht über Grub, sodern über isolinux. Siehe Unterverzeichnis isolinux.
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.
An sich hab ich es schon nachgetragen, aber trotzdem Danke für den expliziten Hinweis.
[…] 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. […]