Easypeasy remastern

Aus Debacher-Wiki
Wechseln zu: Navigation, Suche

Der Wunsch ist also eine angepasste Installations-CD/DVD erstellen zu können. Das ist viel leichter zu machen, als ich gedacht hatte. Für Ubuntu gibt es das Ubuntu Customization Kit (UCK), mit dessen Hilfe ich mir eine beliebige Ubuntu-Version geeignet anpassen kann.

Eine sehr umfangreiche Beschreibung findet sich unter http://wiki.ubuntuusers.de/Ubuntu_Customization_Kit bzw. eine etwas aufwändigere Lösung unter http://wiki.ubuntuusers.de/LiveCD_manuell_remastern.

Kurz gesagt besteht das Verfahren darin eine beliebige Ubuntu-CD als Iso-Image auf die Platte zu bringen und mit dem Tool von https://launchpad.net/uck zu öffnen. Das UCK erlaubt die Nutzung von Synaptics zum Installieren von Paketen und gibt auch einen Shell-Zugriff innerhalb des Images. So kann man auch Programme installieren, von denen es keine Debian-Pakete gibt, wie z.B. Geogebra und LinDVD.

Einige Optionen sind recht missverständlich. Die Frage nach dem Desktop-System gnome/kde/others klingt so, als ob eine Voreinstellung erfolgen würde, sie dient aber nur zu Installation der entsprechenden Sprachpakete, man sollte also immer alle Optionen anwählen.

Der gesamte Installationsprozess und die Paketliste sind frei bearbeitbar. Damit lässt sich dann eine individuelle Distribution erstellen, die für die Schüler sofort nutzbar ist.

Leider lässt sich easypeasy 1.0 mit dem UCK nicht ohne weitere Manipulation bearbeiten. Das Problem besteht darin, dass das UCK für alle gewünschten Sprachen die Metapakete language-support-xx auf der QuellCD erwartet. Bei easypeasy fehlt die und es ist auch keine Datei /etc/apt/sources.lst vorhanden. Das UCK bricht dann nach dem Entpacken der CD, also nach etwa 15 Min. mit einer Fehlermeldung ab. Eine mögliche Lösung besteht darin die Vorlage nach dieser Anleitung manuell zu erweitern. Ich habe hier einfach eine sources.lst in die CD integriert und das Meta-Sprachpaket installiert. Mit der so erzeugten CD kann dann auch das UCK etwas anfangen

Im Prinzip käme man auch ohne UCK aus, wenn man alle Anpassungen gleich manuell vornehmen würde. Für mich ist die Anpassung aber ein iterativer Prozess mit mehreren Zwischen-Versionen, so dass ich mir erst einmal eine UCK-fähige Ausgangsversion erstellt habe und die dann mit dem UCK weiter bearbeitet habe.

Easypeasy manuell vorbereiten

Ich bin genau nach der ausführlichen Beschreibung unter http://wiki.ubuntuusers.de/LiveCD_manuell_remastern vorgegangen. Man kann hier wirklich Schritt für Schritt mit Copy&Paste die Anleitung nachvollziehen.

Wenn man den Chroot-Schritt erfolgreich vollzogen hat, dann kann man das installierte System bearbeiten. Ich habe mir vorher von außen, also vom gastgebenden Rechner die Datei sources.lst in das zu bearbeitende System kopiert mittels

sudo cp /etc/apt/sources.lst   ${WORK}/new/etc/apt

das kann man direkt nach dem Schritt vornehmen, in dem die resolv.conf kopiert wird.

Nach dem Chroot habe ich im Live-System das Paket language-support-de installiert mittels

apt-get install language-support-de

Wer mehrere Sprachen unterstützen möchte, der muss auch deren Sprachpakete hier nachinstallieren.

Danach kann man dann das System wieder schließen und den weiteren Schritten in der Beschreibung folgen.

Remastern mit dem UCK

Nach dem ersten Schritt steht eine leicht angepasste easypeasy-Version zur Verfügung, die sich auf alle Fälle für die Nutzung mit dem UCK eignet. Die Benutzung des UCK ist nicht besonders schweirig, zumindest wenn alle Voraussetzungen erfüllt sind. Die Anleitung unter http://wiki.ubuntuusers.de/Ubuntu_Customization_Kit ist sehr ausführlich und leicht nachvollziehbar beschrieben

Was nicht so ganz deutlich beschrieben ist, ist die Bedeutung der Frage, ob gnome, kde oder sonstige Windowmanager benutzt werden. Als Antwort auf diese Frage werden nur die zugehörigen Sprachpakete installiert, es bietet sich also an alle drei Optionen auszuwählen.

Wenn man jeweils von der letzten erstellten Version ausgeht, dann kann man seine Distribution iterativ optimieren. Zum Testen eignet sich ein virtueller Rechner unter VMWare, dann muss man nicht für jeden Schritt eine DVD erstellen, sondern kann die Iso-Images als CD-Laufwerk angeben.

Anpassen des Systems

Hat man das Live-System mit dem UCK geöffnet, so kann man wählen zwischen der grafischen Anwendung synaptics und einer Rootshell in einer Changed-Root Umgebung. Alle Änderungen die man hier vornimmt betreffen immer das Live-System und nicht das gastgebende System. Man muss aber etwas aufpassen, wenn man auch auf dem gastgebenden System Konsolen-Fenster geöffnet hat.

Im ersten Schritt habe ich immer die vorhandenen Pakete aktualisiert mittels

apt-get update
apt-get upgrade

Im nächsten Schritt habe ich dann jeweils mit Hilfe von Synaptics die installierten Pakete angepasst. Dazu habe ich folgende Pakete ergänzt:

  • kde-education (Meta-Paket)
  • kolourpaint
  • joe
  • msttcorefonts

Die Installation der Pakete erfolgt wie in einem normalen System. Wenn man das Synasptics-Fenster schließt, dann landet man wieder im UCK-Diealog, der die Auswahl zwischen Shell, Synaptics und Abschluss der Arbeiten bietet. Man kann also mehrfach synaptics und die Shell aufrufen.

Firefox anpassen

In einem Live-System im Emulator habe ich derweil Firefox gestartet und passend konfiguriert. Da die Schüler häufiger in verschiedenen Netzen arbeiten müssen, in der Schule bzw. zu Hause, habe ich noch das Firefox-Plugin MM3-ProxySwitch https://addons.mozilla.org/de/firefox/addon/2648 installiert, welches eine bequeme Umschaltung zwischen verschiedenen Proxy-Umgebungen erlaubt.

Das gesamte Verzeichnis .mozilla des Benutzers im Emulator-System habe ich dann in das Verzeichnis /etc/skel auf dem Live-System kopiert, also in

tmp/remaster-root/etc/skel

alle Dateien und Ordner, die hier liegen werden einem neuen Benutzer zur Verfügung gestellt. Damit bekommt dann jeder Schüler bei der Installation seines Systems genau diese Umgebung voreingestellt.

Installation von GeoGebra

Geogebra (http://www.geogebra.org) ist ein tolles Mathematik-Programm, welches auf Java aufsetzt. Von GeoGebra gibt es keine .deb Pakete. Ich habe mir das Installations-Programm GeoGebra_3_0_0_0.bin von der Homepage geladen und im Ordner /tmp des Live-Systems abgelegt, von außen also in

tmp/remaster-root/tmp/

Dann habe ich aus der UCK-Konsole heraus das Programm gestartet und war einigermaßen überrascht, dass der Installer auch mit der grafischen Oberfläche starten konnte, insofern eine ganz normale Installation. Der Vorteil des Installers besteht darin, dass er auch die notwendigen Links und Menüeinträge anlegt. Er packt u.a. eine Datei geogebra.desktop in das Verzeichnis /usr/local/share/applications/. Dadurch taucht Geogebra später im Menü auf.

Oberfläche anpassen

Bei Programmen, die kein so nützliches Installation-Tool mitbringen muss man die Menüeinträge eventuell per Hand anlegen. Dazu muss man wissen, wo die Einträge liegen:

  • /usr/share/applications, hier liegt die Mehrzahl der Desktop-Links
  • /usr/local/share/applications, hier liegen die Links von Picasa und Geogebra
  • /home/user/.local/share/applications, hier liegen alle individuellen Anpassungen
Gnome-sitzung1.png
Was mich an der Original-Installation auch stört ist die Tatsache, dass alle Fenster immer maximiert werden. Das gibt mit einigen Programmen Probleme. Der Taschenrechner Galculator sieht recht komisch aus, wenn er auf das Vollbild gezogen wird.

Aus der Oberfläche heraus kann man das abstellen unter Einstellungen -> Sitzungen. Hier muss man bei Maximus einfach das Häkchen entfernen.

Die gleiche Einstellung findet sich auch in den Konfigurationsdateien. Als globale Vorgabe in der Datei /etc/xdg/autostart/maximus.desktop und als lokale Version im Homeverzeichnis des Benutzers /home/user/.config/autostart/maximus.desktop.

Beim Deaktivieren von Maximus erweitert das Konfigurationstool die Datei um die Zeile

X-GNOME-Autostart-enabled=false

Ergänzt man diese Zeile in der globalen Konfigurationsdatei so sollte Maximus standardmäßig abgestellt sein.


WLAN

Der EeePC verfügt über einen Atheros-Chipsatz AR242x 802.11abg. Für diesen Chipsatz gibt es in der Linux-Welt zwei unterschiedliche Treiber:

  • madwifi, ein ausgereifter Treiber mit langer Geschichte, mit nichtoffener binärer Komponente
  • ath5k, relativ junger Treiber, vollständig offen.

Bei easypeasy 1.0 ist ath5k installiert, währen bei ubuntu eee noch madwifi installiert war. Ursache für den Wechsel ist sicher array.org, die Quelle für den angepassten Kernel fast aller EeePC-Distributionen. Hier ist für 8.10 nur noch das Modul ath5k vorhanden. Leider zeichnet sich der mitgelieferte Treiber durch mehrere Probleme aus:

  • die angezeigte WLAN-Signalstärke ist meist unsinnig und wenig verlässlich
  • der Treiber verliert gern einmal die Verbindung und kann sie dann nicht wieder aufbauen.

Es mach also Sinn nach einer Alternative zu suchen. Es gibt hier zwei Möglichkeiten:

  1. ein aktualisierter ath5k, als Teil von Linux Wireless http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2
  2. den neuesten Treiber vom Madwifi-Projekt, momentan 10.5.6 http://snapshots.madwifi-project.org/madwifi-hal-0.10.5.6/

Beide Programmpakete liegen im Quellcode vor, müssen also erst übersetzt werden, aber das ist recht einfach. Es muss nur auf dem Rechner das Paket build-essential installiert sein, z.B. mittels:

sudo apt-get install build-essential

und natürlich die Kernel-Header, die man sich von Array.org holen muss.

Danach muss man dann jeweils (als root) die Pakete entpacken und übersetzen.

Für Madwifi:

cd /tmp
wget http://snapshots.madwifi-project.org/madwifi-hal-0.10.5.6/madwifi-hal-0.10.5.6-r3942-20090205.tar.gz
tar xvfz madwifi-hal-0.10.5.6-r3942-20090205.tar.gz
cd madwifi-hal-0.10.5.6-r3942-20090205
make
make install

Bei der Installation landen die Module im neuen Verzeichnis /lib/modules/2.6.27-8-eeepc/net/.

Anschließend kann man sofort ausprobieren, ob das Modul einwandrei funktioniert, indem man (als root) das Modul ath5k entlädt und das Madwifi-Modul lädt:

rmmod ath5k
modprobe ath_pci

Nach dem Entladen des Moduls bricht natürlich die WLAN-Verbindung ab, um kurze Zeit nach dem Laden des madwifi-Moduls automatisch wieder neu zu verbinden.

Wenn man mit der Funktionsweise des Modules zufrieden ist, dann kann man es fest einrichten. Dazu muss man verhindern, dass das ath5k-Modul geladen wird. Dazu gibt es mehrere Möglichkeiten:

  1. Löschen des Moduls in /lib/modules/2.6.27-8-eeepc/kernel/drivers/net/wireless/ath5k/ath5k.ko
  2. Aufruf des mitgelieferten Programmes athload: athload madwifi, damit wird das Modul ath5k deaktiviert, mittels athload ath5k kann man es wieder aktivieren
  3. durch Blacklisten von ath5k indem man in der Datei /etc/modprobe.d/blacklist hinzufügt: blacklist ath5k

Für ath5k

Das Modul befindet sich in dem Paket von Linux Wireless zusammen mit einer Reihe weitere Module. Im einfachsten Fall erzeugt man alle gemeinsam.

cd /tmp
wget http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2
tar xvfj compat-wireless-2.6.tar.bz2
cd compat-wireless-2009-02-11
make 
make install

Bei der Installation landen die Module im neuen Verzeichnis /lib/modules/2.6.27-8-eeepc/update/drivers/net/wireless/.

Anschließend muss man das vorhandene Modul entladen und das neue Modul laden:

make unload
modprobe ath5k

Man kann jederzeit zurück zu dem alten Modul, da das Installationsprogrammm den Module unter

/lib/modules/2.6.27-8-eeepc/update/drivers/net/wireless/ath5k/ath5k.ko

ablegt, das vorhanden Modul also nicht überschreibt. Mittels

make uninstall

im Quellverzeichnis kann man die Module auch jederzeit wieder entfernen.

Ich habe mich dann dazu entschieden den Madwifi-Treiber zu nutzen. Dazu habe ich das ath5k-Modul und sein Verzeichnis von der Platte gelöscht. Für madwiwi habe ich dann noch ein paar Anpassungen vorgenommen.

Die Datei /etc/modules habe ich um die Zeilen

ath_pci
ath_hal

erweitert.

In der Datei /etc/modprobe.d/blacklist habe ich vorsichtshalber eingetragen

blacklist ath5k

Dann gibt es noch das Prolem, dass der madwifi-Treiber beim Aufwachendes Rechners nicht wieder richtig startet. Um das Modul beim Schlafen zu Entladen habe ich im Verzeichnis /etc/pm/config.d/ die Datei madwifi angelegt, mit der folgenden Zeile als Inhalt.

SUSPEND_MODULES=ath_pci


SUSPEND und Passwort

Klappt man den Deckel zu, so geht der EeePC brav schlafen, sofern er nicht ans Stromnetz angeschlossen ist. nervig ist beim Aufwecken lediglich die Passworteingabe. Zumindest bei automatischer Anmeldung ist es nervig, dass hier ein Passwort notwendig ist.

Um das abzustellen öffnet man die Datei /etc/default/acpi-support und sucht dort die Zeile

LOCK_SCREEN=true

und ändert sie zu

LOCK_SCREEN=false

ab. Das war es aber leider noch nicht, damit wird nur die folgende Einstellmöglichkeit überhaupt aktiviert. Nun startet man den Gnome-Editor mittels:

gconf-editor

Dort sucht man nach der Anwendung gnome-power-manager und darunter den Eintrag lock. Klickt man diesen an, so öffnet sich daneben ein Feld mit mehreren Zeilen. Wenn man hier die Häkchen bei hibernate und suspend wegnimmt, dann sollte die Passwortabfrage zukünftig unterbleiben.

Background-Image

Mittels

 sudo gconftool-2 -g /desktop/gnome/background/picture_filename

kann man abfragen, wo konkret das Hintergrundbild momentan liegt. Will man ein neues Bild einbinden so muss man dei entsprechende Datei eintragen mittels

sudo gconftool-2 --type=string --set /desktop/gnome/background/picture_filename /usr/share/backgrounds/DATEINAME 

Das alles natürlich in der Konsole des UCK

Meine Werkzeuge