Sony
Vaio PCG N505X mit
FreeBSD 5.3
Stefan Bauer (duke at
splatterworld dot de)
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.