Seraphyn now on FreeBSD 8.0 Beta2

Christian M. Grube Screenshot FreeBSD SeraphynSo, ich habe die letzten zwei Tage viel in dem Büro gemacht und nebenbei ein FreeBSD in der Version 8.0 Beta2 installiert.
Ja, es unterscheidet sich von Debian, aber fühlt sich verdammt Gut an. Bis jetzt habe ich nur screen kompilieren müssen und gebe zu, dass es schon eine kleine Enttäuschung gab, mutt. Mutt ist nicht so wie in Debian gehalten und ich muss mich erst einmal direkt um dieses Paket kümmern, bzw es aus den Sourcen kompilieren und herausfinden, welche Patches eingeflossen sind bei Debian. Ein erste kleine Hürde, aber ich denke jene werde ich meistern und das ganze auch hier im Blog beschreiben. Natürlich ging die Installation nicht ganz ohne Hilfe von statten, mir wurde aber über identi.ca sehr Gut von Oliver Herold von fixmbr.de ( auf identi.ca ohle) mit kleinen Tipps geholfen und nun sitze ich an einem laufenden System. Danke nochmals, finde ich kann man nicht oft genug sagen;)
Wie ging die Installation von statten?
Ich habe erst einmal 20GB auf meinem Thinkpad per PXE und PartitionMagic freigeschaufelt. Ja, ich bin auf Nummer sicher gegangen um noch ein laufendes System auf dem Laptop zu haben. Danach habe ich mich für eine Netzinstallation von FreeBSD entschieden und die Installation ohne Bootmanager vorgenommen, da ich ja den GRUB von Debian noch hatte. Nach dem ersten boot habe ich distcc installiert, da der Laptop nicht wirklich die Power hat und falls ich etwas kompilieren muss ( es kann ja sein, dass es kein Paket gibt) die Xeons von meinem Server nutzen kann. Hier kam dann die erste Hürde, es ist in /etc keine make.conf vorhaden. WTH. Gleich Oliver die Frage gestellt, kann ja sein, dass ich etwas vergessen habe. Nein, man muss sie selbst in dem Punkt anlegen. Somit meine make.conf erstellt und da die Ports den Schalter -jN nicht kennt musste ich auch noch die buildflags setzen.
/etc/make.conf:

PERL_VERSION=5.8.9
CC= /usr/local/bin/distcc cc
CXX= /usr/local/bin/distcc c++
BUILDFLAGS= /usr/local/share/bsdadminscripts/buildflags.mk
.if exists(${BUILDFLAGS})
.include "${BUILDFLAGS}"
.endif
.if ${.CURDIR:M/usr/ports/*}
CFLAGS+= -m32
.endif

/usr/local/etc/buildflags.conf:
/usr/ports & !*/work*{
SUBTHREADS=8
USE_DISTCC
}

Danach habe ich den XServer installiert, Damit ich die Handbücher in aller Ruhe durchlesen kann (pkg_add -r xorg) und mit Xorg -configure die erste Testversion der xorg.conf erstellt. Diese befindet sich danach im Verzechniss /root/ mit dem Namen xorg.conf.new und kann mit einem Xorg -config /root/xorg.conf.new getestet werden. Welches natürlich massiv in die Hose ging, keine Maus, kein Keyboard und auch nicht die Möglichkeit auf ein anderes tty zu wechseln. Somit einen Hardreset gemacht und nun noch in die Datei /etc/rc.conf hald_enable=“YES“ und dbusd_enable=“YES“ eingetragen und einen Neustart gemacht. Wieder als root ein startx eingegeben und wieder war es nicht möglich auf ein tty zu wechseln, geschweige auf Keyboard oder Maus zuzugreifen. Der Drecksack ist der hald, welche wirklich schwer mit Xorg rumzickt. Somit den hald in der rc.conf auf NO gesetzt und neu gestartet. X geht nun. Natürlich habe ich die Datei /root/xorg.conf.new nach /etc/X11/ kopiert und anschliessend so bearbeitet, dass jene meinen Thinkpad perfekt unterstützt (nur die à„nderungen, nicht die komplette):

Section "ServerFlags"
"AllowEmptyInput" "Off"
"DontZap" "Off"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105" #sonst102
Option "XkbLayout" "de"
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/sysmouse"
Option "Emulate3Buttons" "on"
Option "Emulate3TimeOut" "50"
Option "EmulateWheel" "on"
Option "EmulateWheelTimeOut" "200"
Option "EmulateWheelButton" "2"
Option "YAxisMapping" "4 5"
Option "XAxisMapping" "6 7"
Option "ZAxisMapping" "4 5"
EndSection

Section "Device"
Identifier "Card0"
Driver "radeon"
VendorName "ATI Technologies Inc"
BoardName "Radeon Mobility M7 LW [Radeon Mobility 7500]"
BusID "PCI:1:0:0"
Option "DynamicClocks" "on"
Option "ColorTiling" "on"
Option "AGPMode" "4"
BusID "PCI:1:0:0"
Option "AGPSize" "16"
Option "DPMS"
Option "EnableDepthMoves" "true"
Option "GARTSize" "64"
Option "backingstore" "on"
Option "UseInternalAGPGART" "no"
Option "EnablePageFlip" "yes"
Option "RenderAccel" "yes"
Option "AGPFastWrite" "yes"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Modes "1024x768"
EndSubSection
EndSection

Nachdem die Hürde genommen wurde, mv hald /dev/null, bemerkte ich, dass ion3 nicht vorhanden ist, somit wurde einfach mal Fix fluxbox, feh, conky, yeahconsole, urxvt, sowie Opera installiert. Das ganze noch in meine vorläufige .xinitrc gesetzt, natürlich mit meiner Xmodmap, da ich ja die Thinkpadsondertasten nehmen möchte, für Shell/Worker/etc.
/usr/home/seraphyn/.xinitrc:

xmodmap ~/.Xmodmap
feh --bg-center Bilder/FreeBSD.png
conky &
yeahconsole &
exec fluxbox

/usr/home/seraphyn/.Xmodmap:

keycode 236 = F13
keycode 178 = F14
keycode 229 = F15
keycode 230 = F16
keycode 231 = F17
keycode 232 = F18
keycode 234 = F19
keycode 233 = F20
keycode 227 = F21

Funktionstest verlief Super und ich setzte meinen User noch in die Gruppe wheel, damit ich su benutzen kann. Auch habe ich noch meine .Xressources und .Xdefaults mit eingepflegt. Nun sah das ganze schon besser aus. Mir fiel dann auf, dass mein Laptop mit Vollgas lief, welches mir komisch vorkam, achso FreeBSD macht sowas nicht ab Werk und ich war von Debian zu verwöhnt, somit wurde von mir powerd so konfiguriert, wie es die Anleitung auf wiki.bsdforen.de – CPU Stepping erklärt. Somit ist auch die nächste Herausforderung gelöst. Danach ging es an die weiteren Installationen und Herausforderungen, welche auf mich gewartet haben. Sprich die Linuxunterstützung inkl /proc für htop und Flash. Wobei letzteres habe ich noch nicht installiert, da ich massiver Flash-Hasser bin. Ich habe noch die /etc/rc.conf mehrmals anpassen müssen. Da ich einen Thinkpad A31 besitze ging das ganze mit der Soundkarte auch sehr Fix und das passende Kernelmodul (snd_ich) in die Datei /boot/loader.conf eingetragen. Da ich es gerne Bunt und schnell mag, habe ich den Auswahltimer auf 2 gesetzt und Beastie in Bunt neben den Menü darstellen lassen:
/boot/loader.conf:

loader_logo="beastie"
autoboot_delay="2"
sound_load="YES"
snd_ich_load="YES"

Der Datei /ect/rc.conf habe ich noch die Einträge für meine NFS-Shares vom Server, für den Zeitabgleich über das Netz, sowie für Linux und Powerd angedeihen lassen.
/etc/rc.conf:

hostname="takeshi.deveth.hq"
ifconfig_fxp0="DHCP"
keymap="german.iso"
moused_enable="YES"
nfs_client_enable="YES"
dbus_enable="YES"
hald_enable="NO"
#Mine in case of nfs-client mounts
nfslocking_enable="YES"
rpc_statd_enable="YES"
rpc_lockd_enable="YES"
ntpdate_enable="YES"
ntpdate_flags="-b"
ntpd_enable="YES"
powerd_enable="YES"
powerd_flags="-a adaptive -b min"
linux_enable="YES"

Nach einem Reboot funktionierte das System noch. Schon einmal ein Wunder für mich;)
Nun wurden noch die NFS-Shares eingebunden, worker und Ent/Packer, mocp ( Mugge muss sein) installiert und ich habe mir erst einmal klar gemacht woran ich nun sitze. FreeBSD macht seine Arbeit sehr fein, screen musste ich selber kompilieren, weil es als Paket nicht vorhanden ist, einige Scripte, welche unter Linux liefen mussten angepasst werden, wie z.B. die Pfade und bis Dato habe ich bis auf mutt nichts zu meckern. Im Ganzen ein super Ersatz für Debian und ich werde mich nun langsam daran machen zu lernen, wie man mit den Makefiles der Ports umgeht, mich durch das System schnuppern und wie sagt man so schön: Mich einhacken.
Wer sich mit Debian wirklich auskennt und weiss, wie ein unixoides System funktioniert, wird sich recht Fix eingewöhnen und freudig überrascht sein. Der Vanilla-Kernel alleine ist schon sehr schnell und es ist schön zu sehen, wie Schlank sich ein System aufsetzen lassen kann, ohne nach einer Minimalinstallation erst einmal eine Deinstallationsorgie vorzunehmen. Somit kann ich ganz offen sagen: FreeBSD rocks and it’s not dead…

One Comment

Schreibe einen Kommentar

You have to agree to the comment policy.