Nach der Grundinstallation von FreeBSD sind ein paar weitere Schritte notwendig, um sowohl eine Server- oder auch Arbeitsplatz-Umgebung zu unterstützen.
UTF-8-Unterstützung (deutsche Lokalisierung)
Systemweite Unterstützung
Editieren der Datei /etc/login.conf
- default:
- charset=UTF-8:\
- lang=de_DE.UTF-8:
Umgebungs-Datenbank aktualisieren mit:
#> cap_mkdb /etc/login.conf
Benutzerweite Unterstützung
Editieren der Datei ~/.login_conf
- me:
- charset=UTF-8:\
- lang=de_DE.UTF-8:\
- tc=default:
Umgebungs-Datenbank aktualisieren mit:
#> cap_mkdb /etc/login.conf
Systemzeit berücksichtigen
Die BIOS-Uhr (CMOS) auf UTC (Wikipedia) stellen. Danach im Betriebssystem mit dem Befehl date die Uhr prüfen und ggf. auf die lokale Uhrzeit +1 Stunde (Winterzeit, MEZ) oder +2 Stunden (Sommerzeit, MESZ) stellen. Der Zeitstempel einer Datei wird dann nach UTC gespeichert und abhängig der Region entsprechend angezeigt.
Um die Uhrzeit und das Datum mit Hilfe eines Zeitservers zu stellen, reicht die Installation des NTP-Dienstes aus, der auch gleich einen Cient mitliefert:
#> pkg install ntp
Der Aufruf des Clients zusammen mit der Adresse eines öffentlichen Zeitservers erfolgt dann mit:
#> ntpdate -v 0.de.pool.ntp.org
Das vorherige Laden des NTP-Dienstes ist nicht erforderlich. Daher von Vorteil, wenn auf einem Server zwar die Zeit mit Hilfe eines Zeitservers gestellt werden soll, aber selbst nicht als Zeitserver funktionieren soll.
Die Konfiguration des NTP-Dienstes ist in der offiziellen FreeBSD-Dokumentation beschrieben.
Grafikkartentreiber installieren
Installation der notwendigen Grafik-Treiber:
#> sudo pkg install drm-kmod
Einen der unten aufgeführten Einträge, abhängig der verbauten Grafikkarte in die Datei rc.conf vornehmen:
kld_list="amdgpu"
kld_list="i915kms"
kld_list="radeonlms"
Eine Voraussetzung ist, dass der Benutzer in der Gruppe „video“ ist.
#> pw groupmod video -m benutzer
Bei älteren Grafikkarten, wo die oberen Grafiktreiber nicht mehr gültig sind, kann über den VESA-Standard die Auflösung angepasst werden.
Entweder durch den folgenden Eintrag in der Datei /boot/loader.conf :
efi_max_resolution="1920x1080"
oder:
vbe_max_resolution="1280x1080"
Die Auflösungsangaben repräsentieren die maximale Auflösung des Monitors.
Ein weiterer Weg, ebenfalls über den VESA-Standard die Grafikkarte zu erreichen wäre, das entsprechende Kernel-Modul zu laden:
#> kldload vesa
In der Regel ist dies schon geschehen, ist aber die Voraussetzung, um mit dem Befehl vidcontrol zu ermitteln, welche Auflösungsmodis unterstützt werden:
#> vidcontrol -i mode
Ist die passende Auflösung, die der Monitor unterstützt, dabei, wird mit der passenden Mode-Nummer (hier am Beispiel 279) die Auflösung umgestellt:
#> vidcontrol MODE_279
Um dauerhaft die Einstellung zu behalten, wird die Mode-Nummer in die Datei /etc/rc.conf mit folgendem Eintrag ergänzt:
allscreen_flags="MODE_279"
Console-Font ändern
Neben der Auflösung des Bildschirms, ist der Console-Font zu berücksichtigen, um auch bei einer 4K-Auflösung gut lesbare Zeichen zu haben. Der folgende EIntrag in der Datei /etc/rc.conf berücksichtigt den Font "Terminus BSD Console":
allscreens_flags="-f terminus-b32"
Andere Console-Fonts werden mit dem Befehl:
#> vidfont
angezeigt, bzw. zur Auswahl angeboten.
Power-Management
Das Power-Management wird zentral über ACPI geregelt. Die notwendigen Treiber werden automatisch geladen.
Es kann aber sein, dass zusätzliche Funktionen von PC-Herstellern zur Verfügung gestellt werden.
Ein Blick in das Boot-Protokoll zeigt an, was vom Kernel berücksichtigt wurde:
#> dmesg | grep acpi
Weitere ACPI-Kernel-Module pro Hersteller liegen im Ordner /boot/kernel vor:
#> ls /boot/kernel | grep acpi
Ein Eintrag in der Datei /boot/loader.conf berücksichtigt das Laden des entsprechenden Kernel-Modules mit dem Systemstart:
acpi_<hersteller>_load="YES"
CPU Power-Management
FreeBSD unterstützt verschiedene CPU-Power-Management-Mechanismen der einzelnen CPU-Hersteller. Ein erster Check zeigt an, wie die verbaute(n) CPU(s) erkannt wurden:
#> sysctl dev.cpu.0
Sollten Temperaturangaben fehlen, es wird eine Ausgabe als Beispiel wie:
dev.cpu.0.temperature: 28,0C
erwartet, so sollte ein Kernel-Modul in die Datei /boot/loader.conf für Intel-CPUs wie folgt eingetragen werden:
coretemp_load="YES"
Oder für AMD-CPUs:
amdtemp_load="YES"
Zur Steuerung der CPU, sollten in der Ausgabe neben der Temperatur auch die unterstützten Frequenzen aufgelistet sein. Als Beispiel:
dev.cpu.0.freq_levels
Wenn nicht, ist das ein Zeichen dafür, dass das BIOS die komplette Steuerung hat.
Folgende Einträge in der Datei /etc/rc.conf überlassen das Kernel-Modul hwpstate die Arbeit.
economy_cx_lowest="LOW"
performance_cx_lowest="LOW"
Eine CPU-Verbrauchsübersicht gibt der powermon aus. Dieser wird mit:
#> pkg install powermon
installiert. powermon läuft nur dann, wenn vorher das Kernel-Modul cpuctl geladen wurde:
kldload cpuctl
powermon
CPU-Microcode-Updates
Microcode-Updates berücksichtigen wichtige Updates der CPU. Der aktuelle Versionsstand kann wie folgt abgefragt werden:
Vorweg wird das Tool x86info benötigt und installiert:
#> pkg install x86info
Dann ein Kernel-Modul manuell geladen:
#> kldload cpuctl
Um dann die aktuell Microcode-Version zu ermitteln:
#> x86info -a | fgrep -i microcode
Für ein Update des Microcodes mit Systemstart sind folgende Schritte notwendig:
-
Installation des notwendigen Pakets:
#> pkg install cpu-microcode -
Ein notwendiges Laden der Firmware mit folgenden Einträgen in die Datei /boot/loader.conf für Intel-CPUs:
cpu_microcode_load="YES" cpu_microcode_name="/boot/firmware/intel-ucode.bin"oder für AMD-CPUs:
cpu_microcode_load="YES" cpu_microcode_name="/boot/firmware/amd-ucode.bin" -
Und Eintrag in die Datei /etc/rc.conf :
microcode_update_enable="YES"
Das bessere sudo mit doas
Nach der Installation von doas, wird die Referenz-Konfigurationsdatei kopiert:
#> cp /usr/local/etc/doas.conf.sample /usr/local/etc/doas.conf
In der Konfigurationsdatei selbst, werden dann folgende Einträge berücksichtigt:
permit <benutzer> as root cmd pkg
permit nopass <benutzer> as root cmd zzz
permit nopass <benutzer> as root cmd shutdown
Mit der ersten Zeile wird dem Standardbenutzer die Berechtigung gegeben, als root Programme mit pkg zu installieren.
Die zweite Zeile ermöglicht dem Standardbenutzer ohne Passwortabfrage als root den Rechner mit zzz in den Schlafmodus zu bringen.
Die dritte Zeile erlaubt dem Standardbenutzer ohne Passwortabfrage als root den Befehl shutdown zu nuzten - also als Beispiel den Rechner herunterzufahren (shutdown -p now) oder neuzustarten (shutdown -r now).
Tipp: Gruppen haben einen vorangeführten Doppelpunkt (Beispiel: :
).
Einfache Optimierungen
Ändern der Bootloader-Zeit
Um die Bootloader-Menü-Anzeigezeit zu ändern, wird in der Datei /boot/loader.conf folgender Eintrag hinzugefügt:
autoboot_delay=2
Dabei steht die Zahl für die Anzahl der Sekunden.
Deaktivieren des internen Lautsprechers
Der interne Lautsprecher wird mit folgenden Einträgen in der Datei /etc/sysctl.conf deaktiviert:
kern.vt.enable_bell=0
hw.syscons.bell=0
Silent Boot
Um Meldungen während des Boot-Vorganges zu unterdrücken, reicht folgender Eintrag in der Datei /etc/rc.conf:
rc_startmsgs="NO"