Benutzer-Werkzeuge

Webseiten-Werkzeuge


doku:knf2009-linux-live-uck
no way to compare when less than two revisions

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.


doku:knf2009-linux-live-uck [2009-11-22 13:25] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +~~SLIDESHOW~~
 +====== Linux Live CDs selbst anpassen ======
 +
 +  *
 +  * Das Ubuntu Customization Kit - uck
 +  * Klaus Franken, [[StrukturPunkt.de]]
 +  * KNF Kongress 22.11.2009 
 +  *
 +
 +{{:doku:uck-logo.png|}}
 +
 +
 +===== Wie kam ich dazu? =====
 +{{:doku:ml200911_titel.jpg?400|}}
 +===== Aufgabe =====
 +  * Linux Live CD
 +  * Layout- und Sprachanpassung
 +  * schon möglichst viel dabei, z.B. 
 +    * grafische Oberfläche
 +    * volle Netzwerkumgebung
 +    * Office-Programme
 +  * zusätzliche Programme
 +  * HFS+ Dateisystem
 +  * Mac Hardware Unterstützung (auf allen Intel Macs)
 +
 +===== Ubuntu Live-CD Übersicht =====
 +{{:doku:ubuntu-logo.png|}}
 +
 +  * http://www.ubuntu.com
 +    * basiert auf Debian, nur mehr GUI
 +  * benutzt [[http://de.wikipedia.org/wiki/SquashFS|SquashFS]]
 +    * komprimiertes read-only-Dateisystem
 +  * benutzt [[http://de.wikipedia.org/wiki/UnionFS|UnionsFS]]
 +    * verschiedener Dateisysteme werden zu einem einzigen logischen Dateisystem vereinigt
 +    * => im Live-System kann alles überschrieben werden, z.B. Updates
 +  * Live-System kann auch auf Festplatte und USB-Stick installiert werden
 +===== uck Übersicht =====
 +{{:doku:uck-logo-kurz.png|}}
 +  * uck: Ubuntu Customization Kit
 +  * http://uck.sourceforge.net/
 +  * macht aus einer Ubuntu-CD eine neue CD
 +    * keine komplette Entwicklungsumgebung nötig
 +===== uck Übersicht 2 =====
 +{{:doku:uck-ablauf.png?700|}}
 +
 +===== uck Voraussetzungen =====
 +{{:doku:uck-logo-kurz.png|}}
 +  * Ubuntu-System (getestet mit 9.04)
 +  * Ubuntu Live-CD iso-Image
 +  * 5GB freien Plattenplatz
 +  * schnellen Internetzugang
 +  * RAM und Zeit
 +
 +===== uck Installation =====
 +{{:doku:uck-logo-kurz.png|}}
 +  * /etc/apt/sources.list aktivieren:
 +    * deb http://archive.ubuntu.com/ubuntu jaunty universe
 +    * deb-src http://archive.ubuntu.com/ubuntu jaunty universe
 +  * apt-get update
 +  * apt-get install uck
 +===== uck Vorbereitung =====
 +{{:doku:uck-logo-kurz.png|}}
 +  * Benutzer für uck (!= root):
 +    * nicht auf Live-Platte, sondern echter Platte
 +    * 5GB Platz
 +  * Benutzer für Vorlage 
 +    * wird später nach /etc/skel kopiert
 +    * Anpassung z.B. Firefox-Homepage etc.
 +
 +===== uck Start =====
 +{{:doku:uck-logo-kurz.png|}}
 +  * Grafisch: Anwendungen / Systemwerkzeuge / Ubuntu Customization Kit 
 +  * Terminal:  ''uck-gui''
 +===== uck Wizard =====
 +  * language packs: de, ...
 +  * language which will be used at boot of live CD: de
 +    * schon dafür lohnt sich der ganze Aufwand ;-)
 +  * desktop environments: gnome
 +  * choose an ISO Image to be used as the basis: meine-vorlage.iso
 +  * enter the name for the CD: ''KNF Live Live CD 2009''
 +  * Do you want to customize during building? yes
 +  * Do you want to delete all windows-related files from the CD: yes/no
 +
 +Fasten seatbelts... (nach Passwortabfrage).
 +===== uck Ordnerstruktur =====
 +
 +  * /home/
 +    * //benutzer///
 +      * tmp/
 +        * customizations-scripts/
 +          * //Scripts für CD-Anpassung//
 +          * //wird automatisch angelegt und überschrieben :!://
 +        * iso-mount/
 +          * // Mount-Point für Original-CD //
 +        * squashfs-mount/
 +          * // Mount-Point für Squash-FS //
 +        * remaster-iso/
 +          * // neues CD Abbild //
 +        * remaster-root/
 +          * neues Root-Filesystem
 +          * unser Ort für weitere Anpassungen
 +        * remaster-new-files/
 +          * //wird bei jedem Lauf gelöscht :!: //
 +          * livecd.iso 
 +            * // unser Ziel :-) //
 +        * build.log
 +  * /tmp/
 +    * .X11-unix
 +      * //zwischen mehreren Läufen manuell löschen //
 +
 +===== uck "manually"-Script 1/3 =====
 +
 +uck durchläuft Phase 1 und wartet auf manuelle Anpassungen.
 +
 +Beispiel: <code>
 +#!/bin/sh
 +# (c) 2009 Klaus.Franken@StrukturPunkt.de
 +# Customize Ubuntu-Root unter `pwd`/tmp/remaster-new-files
 +# Quelldaten von:
 +#    `pwd`/uck/
 +#    /home/ubuntu/
 +
 +UCKDIR=`pwd`/tmp/
 +ZIEL=`pwd`/tmp/remaster-root
 +QUELLE=`pwd`/uck
 +LIVE=vorlage
 +
 +cp -a /home/$LIVE/. $ZIEL/etc/skel/. || exit 2
 +rm -f $ZIEL/etc/skel/.bash_history || exit 2
 +rm -rf $ZIEL/etc/skel/.local/share/Trash/ || exit 2
 +rm -rf $ZIEL/etc/skel/.xsession-error || exit 2
 +rm -rf $ZIEL/etc/skel/.mozilla/firefox/*/urlclassifier3.sqlite || exit 2
 +rm -rf $ZIEL/etc/skel/.mozilla/firefox/*/Cache/* || exit 2
 +
 +...
 +</code>
 +
 +===== uck "manually"-Script 2/3 =====
 +
 +Fortsetzung:
 +<code>
 +...
 +## Live-Root erweitern
 +cp -a $QUELLE/rootfs/. $ZIEL/. || exit 2
 +
 +## iso-Image erweitern
 +echo -n "KNF Live CD, Version " > $ZIEL/../remaster-iso/VERSION
 +date +"%Y.%m.%d-%H:%M" >> $ZIEL/../remaster-iso/VERSION
 +...
 +## updates
 +chroot $ZIEL apt-get update || exit 2
 +chroot $ZIEL apt-get -y --purge remove 'gimp*' || exit 2
 +chroot $ZIEL apt-get -y --purge remove 'openoffice*' || exit 2
 +chroot $ZIEL apt-get -y install 'abiword' || exit 2
 +chroot $ZIEL apt-get install udev || exit 2
 +chroot $ZIEL apt-get install acpid || exit 2
 +chroot $ZIEL apt-get install hal || exit 2
 +chroot $ZIEL apt-get install checkbox checkbox-gtk || exit 2
 +chroot $ZIEL apt-get -y upgrade || exit 2
 +
 +...
 +</code>
 +===== uck "manually"-Script 3/3 =====
 +
 +Fortsetzung:
 +<code>
 +...
 +# Kernel Update und alte löschen
 +chroot $ZIEL apt-get -y dist-upgrade || exit 2
 +
 +# von http://kanotix.com/index.php?module=pnWikka&tag=OldKernelEntsorgen
 +echo "KERNEL=\$(dpkg -l| \
 +  awk \
 +  '/linux-image|linux-headers|linux-restricted-modules/{print \$2}' \
 +  | grep -v $(uname -r|sed 's/\([^-]*-[^-]*\)-.*/\1/')); \
 +  [ \"\$KERNEL\" ] && apt-get remove --yes --purge \$KERNEL" \
 +  > $ZIEL/tmp/remove_old_kernels.sh
 +chroot $ZIEL sh -x /tmp/remove_old_kernels.sh || exit 2
 +rm $ZIEL/tmp/remove_old_kernels.sh
 +
 +chroot $ZIEL apt-get -y autoremove || exit 2
 +
 +exit 0
 +</code>
 +===== exit 0 =====
 +{{:doku:bildschirmfoto-remaster-new-files_-_datei-browser.png|}}
 +
 +===== Tipps & Tricks =====
 +==== Sprachanpassung ISO-Image Boot (Grub) ====
 +<code>
 +echo "cat \$ISO_REMASTER_DIR/isolinux/de.tr | 
 + perl -ne '\$_ =~ s/Tastaturbelegung/Tastatur/; print;' |
 + perl -ne '\$_ =~ s/Weitere Optionen/Mehr Optionen/; print;' |
 + perl -ne '\$_ =~ s/Barrierefreiheit/Barrierefrei/; print;' |
 + perl -ne '\$_ =~ s/Ubuntu \^ausprobieren \(Rechner bleibt unverändert\)/Mac Life Ubuntu \^Rettungssystem/; print;' > \$ISO_REMASTER_DIR/isolinux/de.tr-NEU || exit 2" >> $UCKDIR/customization-scripts/customize_iso || exit 2
 +echo "mv \$ISO_REMASTER_DIR/isolinux/de.tr-NEU \$ISO_REMASTER_DIR/isolinux/de.tr || exit 2" >> $UCKDIR/customization-scripts/customize_iso || exit 2
 +</code>
 +
 +==== Timezone ====
 +''/etc/rc.local (in rootfs)'' <code>
 +# Zeitzone
 +mv /etc/localtime /etc/localtime.ORIG
 +ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime
 +</code>
  
doku/knf2009-linux-live-uck.txt · Zuletzt geändert: 2009-11-22 13:25 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki