Easypeasy remastern
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
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:
- ein aktualisierter ath5k, als Teil von Linux Wireless http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2
- 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:
- Löschen des Moduls in /lib/modules/2.6.27-8-eeepc/kernel/drivers/net/wireless/ath5k/ath5k.ko
- Aufruf des mitgelieferten Programmes athload: athload madwifi, damit wird das Modul ath5k deaktiviert, mittels athload ath5k kann man es wieder aktivieren
- 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