Heute und je nach dem wie lange ich dafür brauche auch morgen und Tage später installiere ich ( baracoder ) Gentoo auf meinem Laptop. Es wird wegen der exotischen Hardware nicht ganz einfach sein. Aber ich habe auch schon ein wenig Erfahrung mit diesen Problemen, da ich schon mal das Vergnügen hatte Gentoo-Linux auf mein alten Sony Vaio PCG-N505X zu installieren. Mittlerweile funktioniert das System größtenteils ohne Probleme.
|
Projektstatus
|
|
Angefangen
|
Sommer 2007
|
|
Beendet
|
Noch nicht beendet
|
|
Status
|
75 %
|
Updates:
- 01.02.2008: Touchpad-Problem behoben (Siehe Abschnitt Kernel) — Das Touchpad wurde scheinbar zufällig selten beim Starten von x-org erkannt.
1. Todo
Einiges funktioniert noch nicht:
- Fn-tasten (rsjog und sjog scheinen nicht mehr kompatibel zu sein)
- Kartenleser (noch nicht getestet)
- bootspash (Framebuffer-Logo beim Booten wird nicht angezeigt. Auflösung lässt sich nicht ändern, fehler im intelfb-Treiber)
- Power-Managment (Erstellen eines Runlevels battery usw.)
- Externer Monitor (noch nicht getestet)
- Verschlüsselte Partition, Key auf Memory-Stick
2. Vorbereitung
Als erstes sollte man natürlich ein Backup der bereits installierten Systeme machen. Ich habe diesmal ein wenig mehr Vertrauen in meinem Pfutsch und mache deshalb kein Backup.
Wir brauchen:
- Eine gute Internetverbindung, Router mit Ethernet-Anschluss, Patch-Kabel
- Eine CD[-RW] für Damn Small Linux (DSL)
- Ein Sony PCGA-CD51 oder ähnliches bootbares PCMCIA CD-Laufwerk (Das Laufwerk in dem Slimdock bootet kein Linux)
- 1.44MB Diskette
- Ein USB-Stick oder noch eine Diskette
- Das Sony-Vaio R505~ Laptop
- Slimdock (Wegen dem Diskettenlafwerk)
Zusätzlich braucht man noch einen vorkompilierten Kernel mit den passenden Modulen. Dieser kann z.B. mit Genkernel erstellt werden. Wer einen Kernel von mir haben möchte, einfach eine eMail an baracoder@x-theme.de schicken.
3. Brennen
Nun wird die Damn Small Linux - CD gebrannt. Wichtig ist, dass man im ISO/RAW-Modus brennt. Nur so lässt sich die CD auch später starten.
Warum Damn Small Linux?
Man kann es schnell brennen, da es klein ist und es unterstützt das externe PCMCIA CD-Laufwerk, was neuere Kernel Versionen nicht mehr machen. Alle nötigen Tools sind bereits auf der CD vorhanden.
So, nun das externe CD Laufwerk anschließen und die DSL CD einlegen.
4. Booten
Nun wird das Laptop neugestartet und von der CD im externen Laufwerk gebootet.
Dazu muss man beim Booten zuerst die Escape Taste drücken und dann im Menü das CD-Rom auswählen.
Wenn alles richtig läuft, sollte nun das DSL Bootmenü erscheinen.
Um das System richtig zu booten muss man folgendes eingeben:
dsl ide2=0×180,0×386 ide3=off ide4=off nopcmcia
Das nopcmcia ist zwar ein wenig verwirrend jedoch nötig. Denn sobald die Erkennung von PCMCIA Geräten startet, ist das CD-Laufwerk nicht mehr verfügbar. Dies führt dazu das benötigte Dateien nicht mehr geladen werden können.
5. Dateisystem
Nun ist es an der Zeit die Festplatten vor zu bereiten. Dazu muss eine Konsole (Terminal) gestartet werden und anschließend folgendes eingegeben:
sudo su
Dieser Befehl macht einen zum SuperUser womit man dann auch die entsprechenden Befehle ausführen kann.
Nun kann man cfdisk aufrufen um die Partitionierung vorzunehmen.
Ich hatte schon früher an eine Installation eines Linux Betrebsysems gedacht und vorpartitioniert. Somit musste ich nur noch die DateisystemID der hda7 Partition auf 83 (Linux) setzen. Beim Partitionieren sollte man unbedingt darauf achten, dass das System genug Speicherplatz bekommt. Je nach dem welche Software später installiert werden soll reichen 8GB meistens aus. Für die eigentlichen Daten kann eine zweite Partition angelegt werden. Somit wird die Sicherheit bei einem Systemcrash leicht erhöht. Außerdem kann ein anderes Dateisystem eingesetzt werden, um die Performance zu verbessern. Das anlegen einer Swap Partition ist nicht zwingend notwendig, da man auch eine Swap Datei anlegen kann. Auch hier ist es jedoch zu empfehlen, da so die Performance verbessert wird.
Hier ist meine Festplattenaufteilung:
/dev/hda1 NTFS / Windows
/dev/hda2 Erweitert
/dev/hda5 NTFS / Daten
/dev/hda6 NTFS / Temp
/dev/hda7 linux
/dev/hda8 swap
Nun wird ein Dateisystem auf der unformatierten Partition erstellt:
mke2fs -j /dev/hda7
Mit mke2fs kann man ein Ext2 oder ext3 Dateisystem erstellen.
Mit dem -j Parameter wird ext3 erstellt.
Nun muss man ein paar Minuten abwarten bis das Dateisystem fertig geschieben wurde. Danach kann das neue Dateisystem mit
mount /dev/hda7 /mnt/hda7
gemountet werden.
6. Betriebssystem
Nun kann man ganz bequem mit Firefox einen Stage3 Tarball und eine aktuelle Portage Version von einem Gentoo Mirror runterladen. Dazu muss man auf der Gentoo.org Webseite in der Linken Liste Mirrors auswählen. (http://www.gentoo.org/main/en/mirrors.xml) Und dann einen lokalen Mirror.
Einen aktuellen Stage 3 Tarball findet man unter /releases/x86/corrent/stages. Ein aktuellen Snapshot von Portage ist unter /snapshots verfügbar.
Die Dateien sind allerdings groß und sollten nach Möglichkeit direkt auf die neue Partition und nicht ins RAM-Laufwerk geschrieben werden. Wenn Firefox keinen Zugang zu diesem Ordner haben sollte, kann man den Link kopieren und mit wget http.. runterladen.
Wenn die Dateien auf der Partition sind kann man Sie entpacken:
tar xvjpf stage3-*.tar.bz2
tar xvjf /mnt/hda7/portage-latest.tar.bz2 -C /mnt/hda7/usr
00:46: Solange das Laptop Portage entpackt kann ich mir noch einen Kaffee Machen. Den werde ich später noch brauchen…
7. GRUB Diskette
Den Befehl chroot können wir wegen dem alten Kernel bei DSL vergessen. Deshalb müssen wir auch GRUB vorerst auf eine Diskette installieren, was ja für erste Tests auch gar nicht mal so schlecht ist.
Zuerst formatieren wir eine Diskette:
fdformat /dev/fd0
Und um Sicher zu stellen das auf der Diskette keine Daten mehr sind muss noch
badblocks -w /dev/fd0
ausgeführt werden.
Nun schreiben wir noch GRUB auf die Diskette:
cd /usr/lib/grub/i386-pc
dd if=stage1 of=/dev/fd0 bs=512 count=1
dd if=stage2 of=/dev/fd0 bs=512 seek=1
8. Zugang
Damit wir uns später als root anmelden können müssen wir für root noch ein Passwort setzen. Bei gentoo ist normalerweise schon ein Passwort gesetzt welches nicht definiert ist. Deshalb kann man sich nur dann einloggen, wenn man ein neues Passwort setzt.
Dazu legen wir unter DSL einen neuen User namens “barfoo” an:
adduser barfoo
Diesem geben wir auch ein Passwort, z.B. foobar.
Nun öffnen wir die Datei /etc/shadow. In dieser stehen Username, Passwort sowie andere Inforamtionen jeweils durch ein Doppelpunkt getrennt.
nano /etc/shadow
Wir kopieren nun den Teil zwischen dem ersten und zweiten Doppelpunkt in der Zeile die mit barfoo beginnt und fügen es in die Ddatei /mnt/hda7/etc/shadow als Passwort für root ein. Nach dieser Aktion kann man sich mit root und foobar am neuen System einloggen.
9. Letzte Änderungen
Nun muss noch die fstab Datei an die Bedürfnisse angepasst werden.
Datei
/dev/hda7 / ext3 defaults0 0
/dev/hda5 /mnt/windata ntfs defaults0 0
/dev/hda8 none swap sw 0 0
proc /proc proc defaults0 0
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
10. Der Kernel
Danach kann der vorkompilierte Kernel und die dazugehörenden Module vom USB Stick oder Diskette auf die Platte kopiert werden.
mount /dev/sda1 /mnt/sda
cp /mnt/sda/kernel /mnt/hda7/boot/kernel
cp /mnt/sda/initramfs /mnt/hda7/boot/initramfs
cd /mnt/hda7/lib/
tar xvjf /mnt/sda/modules.tar.bz2
umount /mnt/sda /mnt/hda7
Jetzt können wir den Rechner neustarten und von der Bootdiskette starten.
reboot
11. Der erste Start
Nun ist es an der Zeit das neue System zu booten. Dafür wird von der erstellten GRUB - Startdikette gebootet. Zu beachten ist das GRUB beim Durchnumerieren der Geräte von Null beginnt. Also wenn man von der ersten Festplatte, Partition 7 booten möchte sieht es so aus: root (hd0,6)
Nach dem Starten von GRUB erhält man eine Art Terminal, in welches man die Bootparameter eingeben kann:
Eingaben
grub> root (hd0,6)
grub> kernel /boot/kernel root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda7 udev
grub> initrd /boot/initramfs
grub> boot
Danach sollte Linux booten. Wenn eine Loginaufforderung erscheint kann man sich mit root und foobar einloggen.
Um Zugang zum Netzwerk und damit auch Zu Portage und vielen anderen Programmen zu erhalten, muss erstmal ein Modul für die Netzwerkkarte geladen werden.
Für das erste laden wir das e100 Modul.
modprobe e100
Da noch kein DHCP Client zur Verfügung steht, muss das Netzwerk von Hand konfiguriert werden. Dazu muss die Datei /etc/conf.d/net mit nano bearbeitet werden:
nano /etc/conf.d/net
config_eth0=( "192.168.0.99 netmask 255.255.255.0 brd 192.168.0.255" )
routes_eth0=( "default gw 192.168.0.1" )
Damit auch die Webadressen in IPs umgewandelt werden können, muss man noch in die Datei /etc/resolv.conf den Router reinschreiben (in meinem Fall 192.168.0.1)
Anschließend wird das Gerät gestartet:
/etc/init.d/net.eth0 start
Wenn alles richtig eingestellt wurde sollten jetzt Erfolgsmeldungen erscheinen. Ob aber auch die Konfiguration richtig ist, erfaert man mit
ping -C 4 x-theme.de
Damit wird versucht x-theme zu erreichen. Wenn x-theme antwortet, ist alles in Ordnung. Man kann natuerlich zur Kontrolle auch eine andere Adresse anpingen. Z.B.
ping -C 4 google.de
Damit die Programmliste gleich auf den neusten Stand gebracht wird, wird Portage aktualisiert:
emerge --sync
Nach diesem Update erhällt man wohlmöglich noch die Meldung das für Portage ein Update verfügbar ist und man es unbedingt installieren muss. Dies sollte man dan auch tun:
emerge portage
Nun hat man noch genug Zeit sich einen Kaffee zu holen und mit der normalen Installationsroutine ab hier (ab Konfiguration der USE-Variable) weiter zu machen. Allerdings werde ich noch weitere Tipps geben, da die Anleitung nur die grundlegende Einrichtung erklärt.
12. Kernel
Empfehlenswert ist es möglichst wenige Treiber als Module zu compilieren. Direkt eincompilierte Treiber bringen mehr Performance. Unter IEEE 1394 sollte die Option sbp2 aktiviert sein, damit man das DVD-Laufwerk im Slimdock benutzen kann.
Damit es keine Probleme mit dem Touchpad gibt, sollte MOUSE_PS2 (Zum Suchen / während Konfiguration eintippen) als Modul und nicht fest in den Kernel gebaut werden.
13. Touchpad
Udev bietet einige entscheidende Vorteile gegenüber Devfs wie zum Beispiel Aufstellen von Regeln. Davon machen wir auch Gebrauch: Damit trotz wechselnder Hardware wie einer neu angeschlossenen USB - Maus die Gerätenamen für das Touchpad gleich bleiben, stellen wir eine Regel auf:
echo 'ATTRS{name}=="AlpsPS/2 ALPS GlidePoint", NAME="touchpad"' >> /etc/udev/rules.d/10-udev.rules
(Der Befehl bewirkt, dass der Inhalt der Anführungszeichen in die Datei geschrieben wird) Damit wird udev angewiesen Alps Touchpad immer unter /dev/touchpad zu erstellen. Dies erspart einigen Ärger, zum Beispiel beim Booten mit einer angeschlossenen USB-Maus.
/dev/touchpad
14. X-Konfiguration
Nun ist es an der Zeit eine grafische Oberfläche zu installieren. Ich habe mich für Fluxbox entschieden.
emerge -av fluxbox
Das X-Window-System wird automatisch mitinstalliert. Dies kann, wenn man nur einen Rechner zum compilieren benutzt, sehr lange dauern (siehe
distcc zum verteilen der Tasks). Nach der Installation kommt die Einrichtung. Damit keiner sich die Finger wund tippen muss, habe ich meine Version der Konfigurationsdatei hochgeladen. So könnt Ihr diese runterladen:
cd /etc/X11/
wget http://x-theme.de/uploads/Linux.GentooAufSonyVaioPCGR505VMP/xorg.conf
Attach:xorg.conf
Nun kann sollte die Datei noch mit einem Editor deiner Wahl angepasst werden:
nano /xorg.conf
Die Datei ist für das /dev/touchpad und eine Maus eingerichtet, die ohne Neustart ein- und ausgesteckt werden kann. Das eingebaute Alps Touchpad wird mit dem Synaptics Treiber betrieben. Dazu muss dieser noch installiert werden:
emerge synaptics
Die USB-Maus wird mit evudev betrieben, was problemes aus und einstecken während des Betriebs erlaubt.
emerge evdev
Bei wem die USB-Maus nicht erkannt wird, sollte die Datei anpassen.
14.1 USB-Maus anpassen
Zuerst müssen wir herausfinden, wie die Maus im System bezeichnet wird. Dazu geben wir folgendes ein:
cat /proc/bus/input/devices
Es sollte sowas ähnliches wie das ausgegeben werden:
….
Bus=0003 Vendor=04f3 Product=0210 Version=2290
N: Name=“PS/2+USB Mouse”
P: Phys=usb-0000:00:1d.1–2/input0
S: Sysfs=/class/input/input5
H: Handlers=mouse3 event5
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=103
…
Dort suchen wir nach der Bezeichnung, die zur Maus passt (In meinem Fall PS/2+USB Mouse) und tragen das als Device in der Konfigurationsdatei ein
Anmerkung: Leider wird das Touchpad von X nicht erkannt, wenn man mit eingesteckter USB-Maus bootet. Also besser erst booten, und dann Maus einstecken.
14.2 Jogdail
Um das Jogail als Mausrad benutzen zu können ist sonypid empfehlenswert. Wir installieren es mit emerge sonypid .
Damit es auch mit der graphischen Oberfläche startet fügen wir es dem Startup Skript hinzu (für fluxbox)
echo "sonypid &" >> ~/.fluxbox/startup
15. Sound
Bei richtiger Kernelkonfiguration sollte die Soundkarte funktionieren. Wer es noch mal testen möchte kann sich eine beliebige Datei anhören:
cat /boot/System.map > /dev/dsp
(Abbrechen mit [STRG] + [C])
16. Grub-Splash
Um beim Booten ein wenig Abwechslung zu haben, entwickeln wir noch ein Splash-Screen für Grub. Als erstes benötigen wir dafür ein Bildbearbeitungsprogramm. Gimp ist ein sehr mächtiges Programm und könnte auch später noch nützlich sein.
emerge gimp

Mein Grub Splash
Nun erstellen wir ein Bild mit den Maßen 640 x 480. Ich habe mich für ein Vaio Wallpaper enschieden, auf welches ich noch das Gentoo Logo und den Schriftzug “GENTOO” gepackt habe. Ein Splash für Grub darf allerdings nur 14 Farben haben. Also gehen wir auf Bild → Modus → Indeziert und geben als maximale Farbanzahl 14 ein. Mit der Rasterung kann man ein wenig rumspielen bis es einem am besten gefällt. Danach muss die Datei noch im xpm Format gespeichert werden. Das gepeicherte Bild wird noch komprimiert und ins Grub Verzeichnis verschoben werden.
gzip ImageName.xpm
mv ImageName.xpm.gz /boot/grub/
Anschließend tragen wir das das Bild in die Konfigurationsdatei von Grub ein:
/boot/grub/grub.conf
# Splash Image
splashimage=(hd0,6)/grub/ImageName.xpm.gz
17. ACPI
Um auf Ereignisse wie das Drücken des Power Schalters zu reagieren, benötigt man den ACPI-Daemon und ACPI Support im Kernel. Ist der Kernel-Support gegeben, kann man den Daemon installieren:
emerge -av acpid
Dann fügen wir den Daemon gleich dem default Runlevel hinzu:
rc-update acpid default
18. Laptop-Mode
Für Laptop-User stellt Gentoo ein ganz gutes Programm bereit. Damit lässt sich automatisch auf ACPI-Ereignisse reagieren, und einige Stomsparoptionen aktivieren. Nach dem emerge -av laptop-mode kann die Konfigurationsdatei im Ordner /etc/laptop-mode/ an die eigenen Vorlieben angepasst werden.
19. Docking-Station
Das Disketten-Laufwerk wird über USB angeschlossen, der CDRW-DVD Kombo über FireWire und die parallelen und seriellen Ports über PCMCIA. Die entsprechenden Treiber können in den Kernel einkompiliert werden. Um den seriellen und parallelen Anschluss benutzen zu können, müssen diese im BIOS auf Enabled gestellt werden. Wenn die auf Auto konfiguriert sind, funktionieren die unter Gentoo nicht.
20. Quellen
21. Kommentare