Diese Seite wurde am 1. April 2006 vorübergehend auf
statisch umgestellt. Einige der vorgestellten Tutorials sind veraltet,
Links tot und die Zeitangaben stimmen auch nicht. Im Laufe
der nächsten Monate wird eine überarbeitete Seite folgen, auf die dann
weitergeleitet wird.
X.org auf FreeBSD 5.2.1
Achtung, diese Seite dürfte spätestens Mitte November 2004 obsolet sein. Bis dahin werde ich gelegentlich die angebotenen Pakete aktualisieren. Die letzte Aktualisierung fand am 23. Oktober statt.
Zwar ist der X.org X-Server schon seit einiger Zeit Bestandteil des Portstrees, doch die Ersetzung von XFree86 durch X.org nimmt nun langsam konkrete Formen an. Da es sich beim Austausch des X-Servers keinesfalls um eine ganz triviale Aufgabe handelt, empfehlen wir zunächst einen Test in einer Chroot-Umgebung.
So sind wir dafür vorgegangen:
Einrichtung einer Chroot-Umgebung
Da auf dem Testrechner sowieso einige Tage vor Release der neuen Version von X.org die Welt neu gebaut wurde, verwendeten wir diese, um eine Chroot-Umgebung mit Leben zu füllen. Dazu wird zunächst ein Verzeichnis angelegt, das die neue Welt enthält und dorthin installiert:
mkdir /usr/xtest
cd /usr/src
make installworld DESTDIR=/usr/xtest
cd etc/
make distribution DESTDIR=/usr/xtest
Damit die Chroot-Umgebung sich später wie ein normales FreeBSD verhält, sollte auch /dev und /proc verfügbar sein:
mount_devfs devfs /usr/xtest/dev
mount_procfs procfs /usr/xtest/proc
Herunterladen der Pakete
Laden Sie nun die Pakete herunter. Wir mißbilligen die direkte Installation über eine http://-Adresse, da sie doppelten Traffic auf unseren Server verursacht.
cd /usr/xtest/tmp
wget -r -l 1 https://devcorner.old.mattiasschlenker.de/download/31/
Installation in der Chroot-Umgebung
Nun können Sie in die Chroot-Umgebung wechseln und dort den neuen X-Server testweise installieren:
chroot /usr/xtest
cd /tmp/devcorner.schlenker-webdesign.de/download/31/
pkg_add xorg-6.7.0_1.tbz
Pkg_add wird sich über fehlende Pakete beschweren, diese waren zum Bauen notwendig, sind es aber nicht für den Betrieb.
Nachdem der X-Server installiert wurde, kann die Konfiguration erstellt werden und ein Test erfolgen:
Test des X-Servers
Beenden Sie nun die grafische Oberfläche komplett. Evtl. müssen Sie dazu die Datei /etc/ttys anpassen und den Rechner neu starten. Loggen Sie sich auf der Textkonsole ein und begeben Sie sich wieder in die chroot-Umgebung. Dort starten Sie das Konfigurationstool.
chroot /usr/xtest
/usr/X11R6/bin/xorgcfg
Alternativ können Sie vor dem Wechsel in die Chroot-Umgebung Ihre alte Konfigurationsdatei in die Chroot-Umgebung kopieren:
cp /usr/X11R6/lib/X11/XF86Config \
/usr/xtest/usr/X11R6/lib/X11/XF86Config
Klappt der aus der Chroot-Umgebung erfolgte Aufruf von
xinit
kann der Xserver beendet werden und die Installation auf dem eigentlichen System beginnen.
Deinstallation des alten X-Servers
Der folgende Befehl deinstalliert den alten X-Server unwiederbringlich:
pkg_delete -f $(pkg_info | awk '{print $1}' | grep XFree86) \
$(pkg_info | awk '{print $1}' | grep imake)
Installation von X.org
cd /usr/xtest/tmp/devcorner.schlenker-webdesign.de/download/31/
pkg_add xorg-6.7.0_1.tbz
Jetzt ist X.org installiert, es kann eine Anpassung des Systems erfolgen (das Paketsystem muß wissen, daß X.org der richtige X-Server ist). Tragen Sie dazu in der Datei /etc/make.conf folgende Zeile nach:
X_WINDOW_SYSTEM=xorg
Neustart des X-Servers
Da X.org installiert ist, können Sie wieder Ihren kdm, xdm, gdm oder startx aufrufen und die folgenden Tätigkeiten unter der grafischen Oberfläche erledigen.
Aufräumen
Korrigieren Sie Paketabhängigkeiten durch einen Aufruf von
pkgdb -F
(Ist das Tool nicht installiert, sollten Sie schleunigst sysutils/portupgrade nachinstallieren).
Um eine Liste der korrespondierenden Pakete bereit zu haben, empfiehlt sich der Aufruf von
pkg_info | grep xorg
in einem zweiten Fenster, Paketnamen können dann per C&P übernommen werden.
Sinnvollerweise aktualisieren Sie nun auch installierte Anwendungssoftware:
cvsup -L 2 -g /pfad/zum/portsupfile
portsdb -Uu
portupgrade -aRi
Viel Spaß!
Mattias Schlenker
|