Sony Vaio PCG N505X mit FreeBSD 5.3

Stefan Bauer (duke at splatterworld dot de)
Freebsd Daemon Logo

23 März 2005




Einleitung:

Sony Subnotebook Vaio PCG N505X mit FreeBSD 5.3 zur Benutzung als Desktop Rechner.


Voraussetzung:

Vaio PCG N505X Laptop

FreeBSD 5.3 Minimal Installations CD (hier erhältlich) oder

FreeBSD 5.3 Boot Disketten (boot.flp, kern1.flp kern2.flp hier erhältlich)

externes CD (PCGA-CD5) oder Diskettenlaufwerk (PCGA-FD5)

PCMCIA Netzwerkkarte, in unserem Fall eine billige Realteak (rl 8139 Chip) (kompatible Karten hier)

Bestehende Internetverbindung auf Zweitrechner, die als Router agiert. Evtl. vorher IP Adresse und Nameserver IP's erfragen.


Ablauf:


1. Installationsmedium vorbereiten

1.1 Bios Einstellungen abgleichen

1.2 Laptop booten

1.3 Die Installation

1.4 Der Reboot



2. Dies und Jenes


3. Grafische Oberfläche


4. Soundunterstützung


5. Verweise und Infos


6. Update Wlan, performer Kernel








1. Installationsmedium vorbereiten:


Wir beziehen die FreeBSD 5.3 miniinst CD und brennen Sie auf CD.

Alternativ die 3 Disketten Images (boot.flp, kern1.flp kern2.flp hier erhältlich) die wir mit  folgenden Befehlen auf Diskette schreiben.

Unter Windows mit fdimage:

# fdimage /floppys/boot.flp A:

Bei Linux oder BSD:

# dd if=kern1.flp of=/dev/fd0





1.1 Bios Einstellungen abgleichen:


Zuerst booten wir unseren Laptop und drücken wärend wir das Sony Logo auf dem Bildschirm sehen die F2 Taste, somit landen wir im Bios.

Nun ändern wir folgende Einstellungen ab:


Zweiter Reiter  [Advanced]  Punkt  (6)  Plug & Play O/S:  auf ->  NO

Vierter Reiter  [Power]  Punkt  (1)  CPU Speed:  auf ->  FULL

Fünfter Reiter  [Boot]  --> CD oder Diskettenlaufwerk an erste Stelle setzen

mit F10 und Y (Yes) speichern und beenden






1.2 Laptop booten:


Nachdem wir unser Installationsmedium vorbereitet haben booten wir davon. Sollte alles glatt laufen ist die Ausgabe in etwa folgende:

Verifying DMI Pool Data ........
Boot from ATAPI CD-ROM :
1. FD 2.88MB System Type-(00)
Uncompressing ... done

BTX loader 1.00 BTX version is 1.01
Console: internal video/keyboard
BIOS drive A: is disk0
BIOS drive B: is disk1
BIOS drive C: is disk2
BIOS drive D: is disk3
BIOS 639kB/261120kB available memory

FreeBSD/i386 bootstrap loader, Revision 0.8

/kernel text=0x277391 data=0x3268c+0x332a8 |

|
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 9 seconds... _

Jetzt werden die Geräte identifiziert, falls wir unser Diskettenlaufwerk am USB Port zum Booten benutzen stecken wir die PCMCIA Netzwerkkarte bereits in den Cardbus Slot.

Falls wir wie in unserem Fall eine CD zum Booten verwenden, müssen wir uns eines kleinen Tricks bedienen, da der Laptop das CD Laufwerk nicht als Installationsmedium erkennt. Wir tauschen, kurz bevor sich das Menü öffnet, die Vaio CD-Rom Pcmcia Karte durch unsere Netzwerkkarte. Somit sind wir im Stande die Karte als Installationsgrundlage zu verwenden.





1.3 Die Installation:


Ausgangspunkt ist das Installationsmenü. Wir wechseln zu folgenden Reitern:

[K]eymap      Select Keyboard Type      # hier wählen wir [G]erman CP850

Jetzt wo unsere Tastatur das tut, was wir wollen, beginnen wir die Installation mit:

[S]tandard      Begin a standard installation (recommended)

Jetzt definieren wir einen freien Bereich auf unserer Festplatte, teilen Ihm im nächsten Schritt noch die einzelnen Partitionen zu, defineren noch einen Bootmanager und schreiten fort zur Auswahl des Installationsumfanges und des Mediums für die Installation.

Wir wählen:

X-USER      Same as above + X Window System

Im nächsten Schritt fällt die Auswahl auf Install from an FTP server, notfalls (through a firewall) falls wir eine besitzen.

Für den weiteren Verlauf der Netzwerkinstallation benutzen wir in unserem Fall (kann variieren)

rl0 - Realtek

 und wandern weiter zur Netzwerkkonfiguration:

Nun setzen wir die Einstellungen für  den Hostnamen, die IP Adresse, die DNS-Server und unseren Gateway für den Zugang zur Aussenwelt.

Nichts steht nun mehr im Weg die Installation zu starten, falls wir noch gefragt werden ob wir die FreeBSD Port Kollektion installieren wollen, bejahen wir das.

Nach der  grundlegenden Installation sollten wir mit folgender Meldung davon in Kenntnis gesetzt werden.

 Message

Congratulations! You now have FreeBSD installed on your system.

We will now move on to the final configuration questions.
For any option you do not wish to configure, simply select No.

If you wish to re-enter this utility after the system is up, you may
do so by typing: /stand/sysinstall .

[ OK ]

[ Press enter to continue ]

Letztlich stellen wir noch ein paar Kleinigkeiten ein, bevor wir neustarten:

Wir wollen nicht, dass diese Kiste als Gateway funktioniert
Wir wollen keinen NFS Client oder Server festlegen
Wir wollen keinen FTP Server aufsetzen

Wir fügen zum System noch unseren User Account hinzu, hierzu teilen wir den User in die Gruppe "wheel" ein, damit wir nachher mehr Freiraum haben.

Wir definieren unser Root Passwort (Auf keinen Fall ein Wort verwenden, das im Wörterbuch vorkommt oder leicht zu erraten ist!)

Wir setzen die Zeitzone auf CET Berlin / Deutschland

Auf Linux Binärkompatibilität sind wir auch nicht angewiesen vorerst

Nun lassen wir unsere Maus erkennen und sagen JA bei der Frage ob wir über eine PS2 Maus verfügen.

Jetzt sind wir an dem Punkt angelangt, an welchem wir die Kiste neustarten können, hierzu beenden wir einfach das Installationsmenü. Falls wir aufgefordert werden, CD's oder DVD's zu entfernen, ignorieren wir das und starten neu.





1.4 Der Reboot:


Nach einer erfolgreichen Installation sollten wir nun wieder im Bios die Bootreihenfolge der Laufwerke abändern.

Am Bootmanager Promt von FreeBSD sollten wir lediglich folgendes sehen (ausser es befinden sich auf unserer Kiste noch andere Betriebssystem auf weiteren Partitionen).


F1 FreeBSD

Default: F1


wir wählen am Promt F1 und booten unser frisch installiertes System

Sogleich werden wir aufgefordert, wirres Zeug in die Konsole einzugeben womit unsere Kiste dann den SSH Key generiert. Ist das abgeschlossen sollten wir mit gleich genannten Zeilen begrüst werden.

Wed Mar 23 19:41:20 CET 2005

FreeBSD/i386 (cut.plzk.de) (ttyv0)

login:


Sind wir erfolgreich am System angemeldet, ändern wir gewisse Dinge ab, wie im nächsten Abspann ausführlich beschrieben ist.





2. Dies und Jenes:

Grundlegend nehmen wir jetzt ein paar Änderungen am System vor, betrachten wir es als kleine Stützen für unser zukünftiges Arbeitszimmer. Einige Eingriffe sind aber auch nur rein optischer Natur. Die meisten Befehle müssen als Root User ausgeführt werden, hierzu wechseln wir einfach mit "su".



# /usr/libexec/locate/updatedb

# erneuert die Datenbank

# echo "Willkommen" > /COPYRIGHT

# überschreibt die Login Anzeige

# echo "sendmail_enable=\"NO\"" >> /etc/rc.conf

# beendet E-Mail Annahme dauerhaft

# cd /usr/ports/shells/bash2 && make install clean

# installiert flexiblere Shell

# su username && chpass

# Hier kann nun die Shell auf /usr/local/bin/bash gesetzt werden

Zu guter Letzt nehmen wir noch einige Änderungen an der SSHD Konfiguration vor.

Wir reduzieren /etc/ssh/sshd_conf auf das Nötigste:

Protocol 2
HostKey /etc/ssh/ssh_host_dsa_key
PermitRootLogin no
RSAAuthentication yes
PermitEmptyPasswords no
X11Forwarding no
PrintMotd no
PrintLastLog yes
UseDNS no

Ein kurzer Neustart von sshd und wir beginnen mit der weiteren Installation.

# /etc/rc.d/sshd restart





3. Grafische Oberfläche


Ab FreeBSD 5.3 befindet sich nichtmehr XFree86 als Standard X Server im Bunde sondern die Ablösung heist X.org

Wir beginnen mit der Erstellung unserer Konfigurationsdatei:

# Xorg -configure

Dieser Befehl versucht alle nötigen Informationen aus unserer Grafikkarte, Tastatur und Maus rauszukitzeln und überträgt diese in eine Konfigurationsdatei, die in unserem home Verzeichnis abgelegt wird.

Der genaue Pfad lautet /root/xorg.conf.new

Nun testen wir die eben erstellte Konfiguration mit diesem Befehl:

# Xorg -config /root/xorg.conf.new

Sollte sich der Mauszeiger nun bewegen und ein grünlich/grauer Hintergrund erscheinen, war die Konfiguration erfolgreich und wir beenden den Test mit

Strg + Alt  + Backspace

Jetzt fügen wir in unsere xorg.conf.new noch ein paar letzte Änderungen ein und verschieben sie anschliesend an Ihre endgültige Stelle im System.

Wir ändern die Farbtiefe, Auflösung und setzen das Tastaturlayout auf Deutsch

Inhalt von /root/xorg.conf.new

Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
ModulePath "/usr/X11R6/lib/modules"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/TTF/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/CID/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
EndSection

Section "Module"
Load "dbe"
Load "dri"
Load "extmod"
Load "glx"
Load "record"
Load "xtrap"
Load "freetype"
Load "speedo"
Load "type1"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "XkbLayout" "de"
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/sysmouse"
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection

Section "Device"
Identifier "Card0"
Driver "neomagic"
VendorName "Neomagic Corporation"
BoardName "NM2200 [MagicGraph 256AV]"
BusID "PCI:0:10:0"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x768"
EndSubSection
EndSection

Nach dem Bearbeiten der Datei wird sie verschoben:

# mv /root/xorg.conf.new /etc/X11/xorg.conf

Zuletzt automatisieren wir noch den Start unseres X Server:

Wir verändern hierzu in der Datei /etc/ttys die Zeile von

ttyv8      "usr/X11R6/bin/xdm -nodaemon"   xterm    off    secure

auf on, speichern die Datei ab

ttyv8      "usr/X11R6/bin/xdm -nodaemon"   xterm    on    secure

und starten den "Dienst" neu.

# kill -HUP 1

Von jetzt an startet unser X Server automatisch. An dieser Stelle installieren wir noch einen alternativen Fenstermanager und binden selbigen ein.

# cd /usr/ports/x11-wm/fluxbox && make install clean

Nach der erfolgreichen Installation wechseln wir zurück zu unserem regulären Benutzer Account, bewegen uns in sein /home/ Verzeichnis und erstellen unsere Fluxbox Menüs mit

# /usr/X11R6/bin/fluxbox-generate_menu

Jetzt befindet sich in Ihrem /home/ Verzeichnis ein Unterordner namens .fluxbox - dieser ist wichtig für spätere Änderungen an der Einstellung und Oberfläche.

Zeit, den neuen Windows Manager in unseren Automatismus einzubinden.

# echo "exec /usr/X11R6/bin/fluxbox" >> /home/username/.xinitrc && chmod +700 .xinitrc

Somit können wir unsere Kiste ein letztes Mal neustarten und in unser neues System mit grafischer Oberfläche eintauchen.





 4. Soundunterstützung:


Bei der Soundunterstützung bedarf es auch nicht mehr Eingriff ins System. Grunsätzlich bekommen wir folgende Ausgabe bei der Anzeige unseres Sound Gerätes.

pci0: <multimedia, audio> at device 9.0 (no driver attached)

Da wir im Besitz einer Yamaha YMF744B-V DS-1 Soundkarte sind, nennt sich das passende Modul snd_ds1.ko

Das Modul laden wir sogleich:

# kldload snd_ds1.ko

Die Ausgabe sieht dann wie folgt aus:

pcm0: <Yamaha DS-1E (YMF744)> port 0xfc8c-0xfc8f,0xfcc0-0xfcff mem 0xfedf8000-0xfedfffff
irq 9 at device 9.0 on pci0

pcm0: <Asahi Kasei AK4543 AC97 Codec>
pcm0: [GIANT-LOCKED]

Die Karte wurde korrekt geladen und wir prüfen erneut den Status um uns über die Fähigkeiten der Karte zu informieren:

# cat /dev/sndstat

FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <Yamaha DS-1E (YMF744)> at memory 0xfedf8000 irq 9 kld snd_ds1 (4p/2r/0v channels duplex default)

Jetzt wo unsere Karte sicher funktioniert automatisieren wir ihre Inbetriebnahme:

# echo "snd_ds1_load=\"YES\"" >> /boot/loader.conf


Nun sollte auch die Soundunterstützung für unser frisch gebackenes FreeBSD System funktionieren.

Als kleine Zugabe installieren wir noch einen Winamp ähnlichen Spieler:

# cd /usr/src/ports/multimedia/xmms && make install clean

(Evtl. Makefile anpassen, da Gnome Support nicht umbedingt benötigt wird)





 5. Verweise und Infos:


FreeBSD Haupt Seite mit Anleitungen, Hinweisen und Neuvorstellungen www.freebsd.org

Fluxbox Design Vorschläge und Anregungen der Macher www.fluxbox.org





6. Update Wlan, performer Kernel:

Wir befassen uns in diesem Abschnitt mit der Integration einer Wlan Karte und stürzen uns dabei auf den Kernel.

Es handelt sich bei unserer Karte um eine D-Link DWL 650 mit einem Prism 2.5 Chipsatz, die ohne Probleme in das System integriert werden kann. (alle unterstützten Karten)

Das benötigte Modul hierzu ist (wi)

Der erste Punkt besteht darin, sich die Kernel Sourcen zu besorgen, dies machen wir mit folgendem Befehl:

# /stand/sysinstall

im Menü wählen wir

[C]onfigure --> Distributions --> [x] src (Sources for everything)
--> [x] sys (FreeBSD kernel)

Diese Auswahl bestätigen wir nun mit OK und die benötigten Sourcen werde in /usr/src/sys abgelegt.

Wir begeben uns nun in das Verzeichnis /usr/src/sys/i386/conf und passen unsere Kernel Konfiguration an:

# cd /usr/src/sys/i386/conf

Der Standardkernel nennt sich GENERIC, somit erstellen wir unsere eigene Konfigurationsdatei (kann beliebig genannt werden, in unserem Fall "CUT"):

# cp GENERIC CUT

Jetzt editieren wir die /usr/src/sys/i386/conf/CUT. Die hier verfügbare Kernel Konfiguration kann ruhig übernommen werden, es muss lediglich der Abschnitt für die Wlan Karte angepasst werden. Welcher Treiber benötigt wird, kann hier eingesehen werden. Alternativ dient die GENERIC Konfigurationsdatei als Anhaltspunkt.


Nachdem wir die Datei unseren Bedürfnissen angepasst oder übernommen haben, erstellen wir unseren Kernel. Hierbei lassen wir unser System erst prüfen, ob Abhängigkeiten in der Konfiguration übersehen wurden. Als nächsten Punkt generieren wir den Kernel und zu guter Letzt binden wir diesen in unser System ein.

Vorbereiten der Übersetzung:

# /usr/sbin/config CUT

Kernel build directory is ../compile/CUT
Dont forget to do a ``make depend``

# cd ..
# cd compile/CUT

Jetzt befinden wir uns im Verzeichnis wo die eigentliche _Arbeit_ auf unser System wartet.

Nun prüfen wir die Abhängigkeiten:

# make depend

Sollte dies ohne die Ausgabe von Fehlermeldungen abgeschlossen sein, übersetzen wir den Kernel:

# make

Zuletzt binden wir den neuen Kernel in das System ein:

# make install

Jetzt starten wir neu:

# shutdown -r now


Sollte alles positiv verlaufen sein, sehen wir bereits beim Bootvorgang, dass unsere Wlan Karte korrekt erkannt wurde.

wi0: <D Link DWL-650 11Mbps WLAN Card> at port 0x100-0x13f irq 9 function 0 config 1 on pccard0
wi0: using RF:PRISM2.5 MAC:ISL3873
wi0: Intersil Firmware: Primary (1.0.7), Station (1.3.5)
wi0: Ethernet address: 00:40:05:ae:f0:4d
wi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps

In unserem Fall gehen wir davon aus, dass uns ein Accesspoint mit folgenden Daten zur Verfügung steht:

Essid: intern
Channel: 6
Verschlüsselung: WEP
Authmode: Open
Wepkey: geheim

Ip Adresse der Wlan Karte: 192.168.0.5

Somit konfigurieren wir unsere Wlan Karte (wi0) mit folgendem Befehl:

# ifconfig wi0 192.168.0.5 netmask 255.255.255.0 ssid intern channel 6 wep wepkey geheim

Die erfolgreiche Konfiguration sollte in etwa so aussehen:

wi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.0.5 netmask 0xffffff00 broadcast 192.168.0.255
        ether xx:xx:xx:xx:xx:xx
        media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
        status: associated
        ssid intern 1:intern
        stationname cut
        channel 6 authmode OPEN powersavemode OFF powersavesleep 100
        rtsthreshold 2312 protmode CTS
        wepmode MIXED weptxkey 1
        wepkey 1:40-bit

Nun ist die Wlan Karte einsatzbereit. Evtl. muss eine neue Defaultroute zu unserem Gateway (Wlan Zugangspunkt) gesetzt werden (in meinem Fall 192.168.0.50):

# route add default 192.168.0.50

Um den Vorgang der Kartenkonfiguration zu automatisieren, muss die /etc/rc.conf erneut angepasst werden:

# cat "
ifconfig_wi0="\inet 192.168.0.5 netmask 255.255.255.0 ssid intern channel 6 stationname cut wep\"" >> /etc/rc.conf

Achtung! Der Wepkey muss seperat eingegeben werden, und sollte nicht direkt in die /etc/rc.conf integriert werden. Dies geschiet mit:

# ifconfig wi0 wepkey geheim

More soon...



Howto Version 1.1

Dieses HOWTO wurde mit größter Sorgfalt erstellt. Trotzdem können Fehler nicht vollstaendig ausgeschlossen werden. Ich kann für fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung uebernehmen. Fuer Verbesserungsvorschläge und Hinweise auf Fehler bin ich dankbar.