FreeBSD auf einem MacBook
Das Macbook besitze ich seit einiger Zeit. Es ist eins mit einem Intel Core2Duo und 1,2GB RAM. Bisher war dort ein Windows installiert – mal ein Vista, mal ein XP. Dazu war es noetig, einmal Mac OS X zu starten und saemtliche Updates zu installieren. Danach konnte man dann BootCamp draufwerfen und Windows installieren. Klappte soweit auch alles. Nur irgendwie machte beides ab und an Probleme. Die CPU-Auslastung stieg durch I/O auf 100%. Zumindest war das die Aussage des Process Explorer. Da half bisher recht zuverlaessig ein Neustart und bevor der Apple-Start-Sound kam musste man die Tasten Apfel+Alt+P+R gedrueckt halten. Wenn der Bildschirm dann wieder schwarz wurde, konnte man die Tasten loslassen und normal weiterstarten.
Da ich das System mit dem Athlon XP 2100+ so langsam satt hatte, was die Lautstaerke angeht, ueberlegte ich mir nun, dass ich einfach ein FreeBSD auf dem Macbook installieren koennte. Im FreeBSD-Wiki wurde ich dazu auch fuendig. Also habe ich den Snapshot der FreeBSD-Current-Disc 1 von August heruntergeladen. Ein FBSD 6.2 laeuft auf den Macbooks zwar, aber es fehlt die Unterstuetzung fuer einige Geraete, wobei fehlendes LAN das stoerenste ist – als Router kaeme die Kiste dann nicht mehr in Frage. Der Snapshot installierte ohne Probleme. Wie schon gesagt musste vorher einmal BootCamp installiert worden sein. Die Installation wurde wie gewohnt ausgefuehrt. Ich habe eine 2 GB grosse root-Partition, 3GB Swap und zunaechst mal den Rest freigelassen. Um den Rest der Festplatte dann auch nutzbar zu machen, erstellte ich mit bsdlabel -e eine weitere Partition auf meinem ersten Slice, als ich fertig war, sah das ganze dann so aus: Output: bsdlabel ad5s1. Um nun ZFS nutzen zu koennen, musste ich es aktivieren, indem ich mit echo zfs_enable=”YES” in die rc.conf geschrieben habe – in etwa so:
echo 'zfs_enable="YES"' >> /etc/rc.conf
Nachdem das erledigt war, erstellte ich mit zpool create BriaTharen ad5s1d einen ZFS-Pool. Nun habe ich also eine 2GB grosse Root-Partition und der ganze Rest liegt irgendwo in einem Ordner /BriaTharen. Dort kann ich damit nicht sonderlich viel anfangen. Dementspreched gehts nun ans erstellen der groben Ordnerstruktur. Diese wird dann spaeter einfach nach /usr gemountet. Auf einer root-Shell wird nun folgendes ausgefuehrt:
zfs create BriaTharen/usr zfs create BriaTharen/usr/ports zfs create BriaTharen/usr/ports/distfiles zfs create BriaTharen/usr/src zfs create BriaTharen/usr/obj zfs create BriaTharen/usr/home zfs create BriaTharen/tmp
Nun gibt es auf dem Volume BriaTharen jede Menge Ordner, die ich aber noch nicht direkt befuelle. Erst kann man ja noch ein bisschen komprimieren: der Ports- und der Sourcetree sollten sich recht gut komprimieren lassen, die distfiles jedoch nicht. Wer will, kann auch noch seine homes komprimieren. Ob das jedoch viel bringt kommt auch drauf an. Ich komprimiere meine homes meist mit. Dementsprechend folgendes in einer root-Shell:
zfs set compression=gzip-9 BriaTharen/usr/src zfs set compression=gzip-9 BriaTharen/usr/obj zfs set compression=gzip-9 BriaTharen/usr/ports zfs set compression=gzip-9 BriaTharen/usr/home zfs set compression=off BriaTharen/usr/ports/distfiles
Nun stellt sich die Frage, wer braucht die Zeiten, bei denen auf deine Datei zugegriffen wurde? Ich nicht. Daher ausgeknippst mit: zfs set atmine=off BriaTharen. Nun noch das bestehende /usr in die neue Ordnerstruktur kopieren. Dazu, wieder als root:
cp -RPp /usr/ /BriaTharen/usr/
Wenn das erledigt ist, kann man endlich das ZFS-Volume ummounten – das geschieht mit:
zfs set mountpoint=/usr BriaTharen/usr
Alles soweit ohne Probleme durchgestanden? Dann sollte ein mount nun ungefaehr so aussehen: Output: mount. Nachdem die Festplatte soweit eingerichtet war, rebootete ich um zu sehen, ob auch alles klappt. Auch nach einem Neustart war noch alles so, wie es sein sollte. Also konnte ich weitermachen und meine make.conf und loader.conf ein wenig anpassen.
loader.conf
Zunaechst gibt es meine /boot/loader.conf hier zum Ansehen: loader.conf. Viel gibt es dazu nicht zu sagen – die Datei ist kommentiert, erklaert sich also von selbst. Wer mehr wissen will, kann die Manpages der einzelnen Module bemuehen.
rc.conf
Auch hier der Link zu meiner /etc/rc.conf: rc.conf. Auch diese Datei ist kommentiert und dementsprechend brauche ich hier nicht viel dazu sagen. Weitere Dienste wie apache oder PostgreSQL kommen wohl spaeter noch dazu.
make.conf
Todo
- Bluetooth: Wenn ich Zeit habe, muss ich mal die Bluetooth-Tauglichkeit testen.
- Grafikchip an den Rand der Belastbarkeit fuehren
- X Server wieder zum laufen bewegen. Seit einigen Tagen will es nich so recht starten. Bei Zeiten mal suchen.