eee-pc 901 mit Ubuntu, Festplattenverschlüsselung, WLAN uvm. How-To

1. September 2008 Kategorien:

Letzte Woche war es soweit: Ein eee-pc 901 wurde beschafft, um nicht immer die 15″ Schlepptops durch die Gegend tragen zu müssen. Allerdings ist Windows auf so einem schnuckligen Gerät nicht adäquat und leider hat sich Asus dagegen entschieden, den 901 auf Linux Basis in Europa anzubieten. Daher bleibt nur die Neuinstallation mit der aktuellen Distribution unserer Wahl: Ubuntu Desktop LTS.
Da natürlich alle Festplatten verschlüsselt sein müssen, nutzen wir den Alternate Installer, der bereits bei der Installation Verschlüsselung bei der Partitionierung als Option anbietet.

Am Ende soll der eee-pc folgendes bieten:

  • Installation der alternate Version vom USB-Stick
  • verschlüsselte Festplatten
  • funktionierende Hot-Keys
  • LAN und WLAN-Verbindung
  • Ubuntu Netbook Remix (alternative Oberfläche)
  • Verbindung zu einem Nokia E61 (und anderen Telefonen) über Bluetooth
  • Nutzung der Bluetooth-Verbindung für Online-Zugang

Das folgende How-To trägt angepasste Informationen aus folgenden Quellen zusammen und erweitert diese:

USB-Stick vorbereiten
Es gibt zig Tools, die man nutzen kann. Eine eher funky angehauchte Lösung haben wir genutzt. Wir brauchen hierzu einen VMware Player oder VMware Workstation, sowie eine grub-basierte Linux-Installation. Wer nur den VMware Player hat und noch keine VMX-Datei, der kann sich eine passende Datei bei easy vmx online erstellen. Am einfachsten ist die Nutzung einer Ubuntu Live-CD. Die VMX-Datei wird entspechend mit der ISO-Datei als CD-Laufwerk (/cdrom muss also der Inhalt der ISO-Datei sein) und USB-Controller-Präsenz für den USB-Stick konfiguriert.

Die Live-CD wird gestartet und kontrolliert, ob die Pakete syslinux und mtools installiert sind. Wenn nicht werden diese mit apt-get install syslinux mtools nachinstalliert.
Die VMware muss im Folgenden aktiv sein, also der Fokus auf der VMware liegen. Dann den USB-Stick einstecken. Er wird automatisch gemountet. Mit dem Befehl mount ist erkennbar, welches Gerätedatei der USB-Stick zugewiesen bekommen hat. Im Beispiel wird /dev/sdb1 verwendet.
Aufgrund der Unfähigkeit des Dateisystems FAT, das keine Symlinks beherrscht, muss neben der Boot-Fähigkeit des USB-Sticks und eines passenden Bootloaders auch einiges hin und her kopiert werden. Ein 2 GB USB-Stick ist daher von Nöten.

umount /dev/sdb1
syslinux /dev/sdb1
mount /dev/sdb1
grub-install --no-floppy --root-directory=/mnt/usb/ /dev/sdb
mount /dev/cdrom
cp -R /media/cdrom/* /mnt/usb/
cp -R /media/cdrom/dists/hardy /mnt/usb/dists/stable
cp -R /media/cdrom/dists/hardy /mnt/usb/dists/unstable
cp /media/cdrom/install/netboot/ubuntu-installer/i386/pxelinux.0 /mnt/usb/install/netboot/pxelinux.0
cp -R /media/cdrom/install/netboot/ubuntu-installer/i386/pxelinux.cfg /mnt/usb/install/netboot/pxelinux.cfg
rm -rf /mnt/usb/isolinux
cp -R /media/cdrom/isolinux/* /mnt/usb
mv /mnt/usb/isolinux.cfg /mnt/usb/syslinux.cfg

Da die Pfade ein wenig anders sein werden, muss noch der Bootloader angepasst werden. Hierzu nano /mnt/usb/boot/grub/menu.lst und Folgendes einfügen:

default 2
timeout 30

## Deutsches Tastaturlayout fuer grub
setkey y z
setkey z y
setkey Y Z
setkey Z Y
setkey equal parenright
setkey parenright parenleft
setkey parenleft asterisk
setkey doublequote at
setkey plus bracketright
setkey minus slash
setkey slash ampersand
setkey ampersand percent
setkey percent caret
setkey underscore question
setkey question underscore
setkey semicolon less
setkey less numbersign
setkey numbersign backslash
setkey colon greater
setkey greater bar
setkey asterisk braceright

title UbuntuFreunde.de
root
title ----------------
root

## Ubuntu im Live-Modus starten.
title UsBuntu - Live
root (hd0,0)
kernel /install//vmlinuz file=/preseed/ubuntu.seed boot=casper live locale=de_DE console-setup/layoutcode=de ramdisk_size=1048576 --
initrd /install/initrd.gz

## Ubuntu im Live-Modus mit angepasster Aufloesung starten.
title UsBuntu - Live VGA 1024
root (hd0,0)
kernel /install/vmlinuz file=/preseed/ubuntu.seed boot=casper live locale=de_DE console-setup/layoutcode=de ramdisk_size=1048576 vga=791 --
initrd /install/initrd.gz

## Ubuntu im Live-Modus mit angepasster Aufloesung starten.
title UsBuntu - Live VGA 1280
root (hd0,0)
kernel /install/vmlinuz file=/preseed/ubuntu.seed boot=casper live locale=de_DE console-setup/layoutcode=de ramdisk_size=1048576 vga=794 --
initrd /install/initrd.gz

## Ubuntu im Persistent-Modus starten. Speichert Aenderungen und Einstellungen am System.
title UsBuntu - Persistent
root (hd0,0)
kernel /install/vmlinuz file=/preseed/ubuntu.seed boot=casper persistent locale=de_DE console-setup/layoutcode=de ramdisk_size=1048576 --
initrd /install/initrd.gz

## RAM-Test
title Arbeitsspeichertest
root (hd0,0)
kernel /install/mt86plus
quiet

Wer möchte, kann bereits hier den angepassten Kernel kopieren, um den USB-Stick komplett vorzubereiten. Wie das geht steht im Abschnitt “angepassten Kernel installieren”. In jedem Fall muss aber noch die ISO-Datei der alternate ihren Weg auf den Stick finden.

vom USB-Stick installieren
Den Stick in den eee-pc einstecken, das System starten und bei Anzeige der BIOS-Informationen Escape drücken. Hier den USB-Speicher auswählen. Es erscheint das Grub-Menü – “persistent” auswählen. Nach der (fehlgeschlagenen) CD-Rom Erkennung die Treiber nicht von Diskette laden und auch kein Modul oder Gerät auswählen (die Fehlermeldung im Anschluss einfach ignorieren). Im Anschluss mit ALT+F2 in die Konsole und mit Enter die Konsole aktivieren

mkdir /cdrom (existiert vielleicht schon)
mount -t vfat /dev/sdc1 /cdrom

mit ALT+F1 wieder zum Installer zurück. Dann den Menüpunkt Installer-Komponenten von CD laden und dort die Module load-iso und lowmem wählen. Am Ende erscheint wieder eine Fehlermeldung, die man getrost ignoriert. Nun den Menüpunkt Festplatten erkennen wählen.

Partitionierung
Hier scheiden sich die Geister. Die Beschreibung im Folgenden partitioniert wie folgt:
4 GB SDD: /boot mit 200 MB, Rest verschlüsselt auf /home
8 GB SDD: / mit gesamter Kapazität verschlüsselt
kein SWAP!

Der verwendete eee-pc hat 2 GB RAM und das muss auch reichen. Suspend to RAM wird nicht benötigt (und braucht auch einiges an SWAP-Space), daher wurde diese Konfiguration gewählt. Ein Hinweis noch: Wer SWAP-Space verschlüsselt haben möchte, sollte auf der entsprechenden Partition LVM konfigurieren, um das Passwort nicht für jede Partition eingeben zu müssen.

Gut, also los geht’s:
Manuelle Partitionierung auswählen, sowohl die 4 GB, als auch die 8 GB SSD wählen und eine jeweils leere Partitionstabelle erstellen.
Auf der 4 GB SSD eine neue primäre Partition mit 200 MB, ext3, mount-point /boot und Boot-Flag auf erstellen, auf dem verbleibenden Speicher und auf der 8 GB SSD ein physikalisches Volume für Verschlüsselung mit maximalem Platz anlegen. Dann auf verschlüsselte Datenträger konfigurieren gehen und das Passwort angeben. Dann verschlüsselte Datenträger konfigurieren auswählen und die Änderungen auf Platte schreiben. Da 2 Festplatten verschlüsselt werden, müssen 2×2 Passwörter eingegeben werden.
Im Anschluss das verschlüsselte Volume Nr. 1 sdb2_crypt auswählen und den MountPoint auf / ändern und dann das Anlegen der Partition beenden. Das verschlüsselte Volume Nr. 1 sda1_crypt analog auf /home setzen. Das wars, den Vorgang mit “Paritionierung beenden und Änderungen übernehmen” beenden und die Änderungen auf Festplatte schreiben.

Jetzt werden die Partitionen erzeugt und formatiert, anschließend das Grundsystem installiert. Nun den vollen Namen des Benutzers eingeben, Benutzernamen und Passwort setzen. Keinen HTTP Proxy angeben (sinnfrei, da die Netzwerkkarte wird noch nicht vom Kernel erkannt wird), daher Language Support auch nicht herunterladen. Nach ca. 2 Minuten kann man wählen, welche Pakete man installieren möchte. Desktop auswählen (OpenSSH-Server bei Bedarf ebenfalls). Wer nichts auswählt hat im Nachgang keine X-Oberfläche und muss sie von Hand nachinstallieren. Aufwändiger, aber die Installation bleibt zunächst schlanker.

Nach der Installation das System booten und das Passwort für “/” eingeben. Diese Abfrage erscheint noch mit grafischem Boot-Screen. Die Abfrage für /home ist auf der Konsole. Nun noch als Benutzer anmelden und heyhey, willkommen auf Ubuntu Desktop!

angepassten Kernel installieren
Zunächst müssen die aktuellen DEB-Pakete von array.org auf den USB-Stick kopiert werden. Da der eee-pc noch kein Netz hat, wird hierfür der am Anfang genutze Linux-Rechner verwendet.

cd /media/live
wget http://www.array.org/ubuntu/dists/hardy/eeepc/binary-i386/linux-image-2.6.24-21-eeepc_2.6.24-21.39eeepc1_i386.deb
wget http://www.array.org/ubuntu/dists/hardy/eeepc/binary-i386/linux-ubuntu-modules-2.6.24-21-eeepc_2.6.24-21.30eeepc4_i386.deb

Dann den Stick im eee-pc mounten und mittels

dpkg -i /media/live/linux-image-2.6.24-21-eeepc_2.6.24-21.39eeepc1_i386.deb
/media/live/linux-ubuntu-modules-2.6.24-21-eeepc_2.6.24-21.30eeepc4_i386.deb

installieren.
Nach dem Reboot ein Netzwerkkabel anschließen. Mit einem DHCP-Server im Rücken ist man bereits online. Um künftig Updates des angepassten Kernels zu erhalten, sollte man das Repository hinzufügen. Mit nano /etc/apt/sources.list die sources.list editieren und folgenden Inhalt hineinkopieren:

# angepasster Kernel für eeepc von array.org
# http://www.array.org/ubuntu/array.list
deb http://www.array.org/ubuntu hardy eeepc

Im Anschluss noch den Key in den apt-Schlüsselspeicher importieren:

cd /tmp
wget http://www.array.org/ubuntu/array-apt-key.asc
apt-key add array-apt-key.asc
rm array-apt-key.asc

Nun kann man, wenn man will, auch die Kernel-Sources installieren: apt-get install linux-headers-`uname -r`
Spätestens jetzt empfiehlt sich mal ein komplettes System-Update mit der bekannten Prozedur

apt-get update
apt-get dist-upgrade

Hot-Keys nutzbar machen
Mittlerweile ist dies wunderschön gelöst und funktioniert richtig prima :)

cd /tmp
wget http://www.informatik.uni-bremen.de/~elmurato/901/Ubuntu_ACPI_scripts-EeePC_901_1000.tar.gz
tar xfvz Ubuntu_ACPI_scripts-EeePC_901_1000.tar.gz
cd Ubuntu_ACPI_scripts-EeePC_901_1000/
chmod +x install.sh
sudo ./install.sh

Einrichtung von WLAN
Die Verbindung mit WPA2 war bei mir leicht instabil, ebenso die Nutzung des gnome network managers. Da die Konfiguration des WLANs recht einfach ist und die Inhalte stark von der Konfiguration abhängig sind, sei an dieser Stelle auf die sehr gute Anleitung bei ubuntuusers.de verwiesen.

Ubuntu Netbook Remix
Diese alternative Oberfläche sieht nicht nur schick aus, sondern maximiert die Nutzbarkeit des kleinen Bildschirmes. Aktuell zwar noch als Beta geführt, klappt die Nutzung schon gut und stabil.
Analog der Installation des alternativen Kernels, fügen wir auch hier der sources.list ein Repository mit nano /etc/apt/sources.list hinzu. In der Datein muss folgendes angehängt werden:

# Ubuntu Netbook Remix
deb http://ppa.launchpad.net/netbook-remix-team/ubuntu hardy main
deb-src http://ppa.launchpad.net/netbook-remix-team/ubuntu hardy main

Nach einem apt-get update mittels apt-get install ume-launcher go-home-applet window-picker-applet human-netbook-theme maximus die benötigten Pakete installieren. Vor dem Abmelden und damit aktivieren, sollten folgende Änderungen an der Gnome-Konfiguration vorgenommen werden. Ansonsten steigt die CPU Last auf 100% und die Netbook Remix Oberfläche stürzt ab.

  • Compiz deaktivieren (“System / Einstellungen / Erscheinungsbild / Visuelle Effekte”)
  • maximus in den Autostart (“System / Einstellungen / Sitzungen”, Pfad /usr/bin/maximus)

Nach der Installation das Human Netbook-Theme wählen (“System / Einstellungen / Erscheinungsbild / Thema”) und die Gnome-Taskleisten anpassen:

  • Untere Taskleiste löschen
  • In der oberen das Menü entfernen und die Applets “go-home-applet” und “window-picker-applet” hinzufügen (die Version go-home-applet_0.1ubuntu14_i386.deb lässt sich nicht hinzufügen, alternativ nutzt man das Desktop anzeigen applet)

Wer mag, kann die Schriftgrößen verkleinern, um den Bildschirm effektiver zu nutzen:

gconftool-2 --set /apps/nautilus/preferences/desktop_font --type string "Sans 8"
gconftool-2 --set /desktop/gnome/interface/document_font_name --type string "Sans 8"
gconftool-2 --set /desktop/gnome/interface/font_name --type string "Sans 8"
gconftool-2 --set /apps/metacity/general/titlebar_font --type string "Sans Bold 8"
gconftool-2 --set /desktop/gnome/interface/monospace_font_name --type string "Monospace 8"
gconftool-2 --set /apps/panel/toplevels/top_panel_screen0/size --type integer 19
gconftool-2 --set /apps/panel/toplevels/bottom_panel_screen0/size --type integer 19

Nach der Tastenkombination CTRL+ALT+BACKSPACE startet der X-Server neu und Ubuntu Netbook Remix wird geladen.

Bluetooth Dialup
Die folgende Beschreibung wurde mit einem Nokia E61 getestet. Leider ist bei Symbian basierten Geräten die Zuordnung von Service zu Bluetooth-Channel nicht statisch und kann sich z. B. nach einem Reboot ändern. Daher wird auf die statische Konfiguration verzichtet.
Sofern Bluetooth im BIOS noch nicht aktiviert ist, entsprechend aktivieren. Zunächst müssen die Geräte gekoppelt werden. Am Handy oder am eee-oc das Pairing starten, eine PIN vergeben und diese PIN im aufpoppenden Bluetooth Menü eingeben. Sowohl im Handy den Rechner generell authentisieren, als auch das Handy im Rechner.
Für die Bluetooth-Verbindung zunächst nano /etc/ppp/peers/BluetoothDialup und folgenden Text eingeben

debug
noauth
nomagic
lock
mtu 1500
mru 1500
novj
connect "/usr/sbin/chat -v -f /etc/chatscripts/BluetoothDialup"
usepeerdns
/dev/rfcomm0 115200
defaultroute
crtscts
lcp-echo-failure 0

Im Anschluss nano /etc/chatscripts/BluetoothDialup und folgendes eingeben

TIMEOUT 240
ABORT "NO CARRIER"
ABORT "NO DIALTONE"
ABORT "ERROR"
ABORT "NO ANSWER"
ABORT "BUSY"
"" "+++atz"
OK "ATE0V1"
OK AT+CGDCONT=1,"IP","internet.eplus.de"
OK ATD*99***1#
"CONNECT" ""

Die Zugangsdaten des Online-Zugangs müssen noch eingetragen werden: nano /etc/ppp/pap-secrets Im Falle E-Plus/Base "eplus" * "online" hinzufügen.
Das war eigentlich schon der anstrengende Teil. Mit folgendem kleinen Script lässt sich das Channel-Flapping Problem halbwegs elegant umschiffen. nano /usr/local/bin/start-bluetooth-dialup.sh und folgendes eingeben

#!/bin/sh
# script to connect via bluetooth-modem connection
# eihter use a hard link like described here:
# https://help.ubuntu.com/community/BluetoothDialup
#
# But if you're using a symbian based mobile, the
# dialup channel might flap. This script tries to
# ease the pain.
#
# Tobias Glemser (tglemser@tele-consulting.com)
#
# Version 0.01
# Date 08/08/29
# name your chatscript
chatscript=BluetoothDialup
# release all rfcomm devices
rfcomm release 0
echo "lese bluetooth-verbindungsdaten aus"
sdptool search DUN
# if you know your mac already, you might want to
# comment out the next two line and uncomment the
# line after
echo "please enter the mac-adress of your device"
read mac
#mac=XXXXXXXXXX
echo "please enter the channel for dial-up networking (digit)"
read channel
echo "setting /dev/rfcomm0 to $mac, channel $channel"
rfcomm bind 0 $mac $channel
echo "starting connection\nscript finished"
pon $chatscript

Dann noch die Dateirechte ändern und ausführen

chmod 0777 /usr/local/bin/start-bluetooth-dialup.sh
/usr/local/bin/start-bluetooth-dialup.sh

Zunächst die entsprechende MAC des Telefons identifizeren und in das Script kopieren, anschließend die Kanalnummer des DialUp Service suchen (Achtung, alle Geräte in der Nähe werden angezeigt, nicht nur das gepairte). Dann verbindet das Script automatisch über das Handy ins Internet. Die Konfiguration ob UMTS oder GPRS wird vom Telefon übernommen.
Wer das Script direkt für Benutzer nutzbar machen möchte, muss per sudo den Befehl rfcomm dem jeweiligen Benutzer freigeben.

Webcam
Da die Webcam für die Nutzung bei uns unwichtig ist, wurde diese nicht konfiguriert. Aktuell scheint es auch noch keine passenden Treiber für die Kamera (USB-ID 04f2:b071, Chicony Electronics Co., Ltd) zu geben, die in unserem eee-pc verbaut ist. Hier kommen mindestens 4 verschiedene Kameras in der gleichen Baureihe zum Einsatz.

Schlussbemerkung
Ich danke an dieser Stelle allen am Anfang genannten Autoren der FAQs und How-To’s auf die ich mich bei der Einrichtung beziehen konnte. Es wurde bei dieser Beschreibung darauf verzichtet, Zusatzinformationen zu verarbeiten. Wer also Probleme bei der Einrichtung hat, möge auf den referenzierten Links nachsehen, ob es nicht dort bereits Problemlösungen gibt. Und zum Schluss noch ein paar Screenshots der Installation:

eee-pc Ubuntu Remix 1

eee-pc Ubuntu Remix 1

eee-pc Firefox

eee-pc Firefox

eee-pc TrueCrypt

eee-pc TrueCrypt

/gt

  1. 3 Trackback(s)

  2. Jan 4, 2009: Recent Links Tagged With "lowmem" - JabberTags
  3. Jan 19, 2009: TC Blog » Blog Archive » eee-pc 901 mit Ubuntu, Festplattenverschlüsselung, WLAN uvm. - aktualisierte Fassung
  4. Jan 19, 2009: TC Blog » Blog Archive » Linux auf Eee-PC 901: Easy Peasy 1.0 vs. eeebuntu-2.0 vs. Ubuntu 8.0.10 Basteleien

Einen Kommentar schreiben