Fragen zur Grundconfiguration

max_123

Member
Hallo,

zunächst: ich bin kein IT-Fachmensch. Ich versuche gerade, FreeBSD zu verstehen. Ein wenig Linux-Erfahrung hab ich.
Konkret will ich demnächst versuchen, einen Kernel nur mit den erforderlichen Modulen zu bauen - ist noch ein langer Weg. Denn folgendes Problem:
ich habe keine Ahnung, welche der vielen Konfigurationsdateien überhaupt beim Booten geladen werden.
Das Handbuch, die Man-pages brachten mich nicht weiter.
Ich bin noch nicht einmal so weit zu sagen, ob irgendein "EFI"- oder anderer Loader zum Tragen kommt :o
Habe hier eine VM eingereichtet, FreeBSD aber auch auf einem älteren Notebook installiert. Ein paar Ausgaben der VM:

Code:
root@Beastie:~ # gpart show -l
=>       40  209715120  ada0  GPT  (100G)
         40       1024     1  gptboot0  (512K)
       1064        984        - free -  (492K)
       2048    4194304     2  swap0  (2.0G)
    4196352  205516800     3  zfs0  (98G)
  209713152       2008        - free -  (1.0M)

Das ein ZFS vorliegt und eine GPT-Tabelle ist somit mal verstanden (hoffe ich...).

Code:
/var/run/dmesg.boot:

Copyright (c) 1992-2021 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
    The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 13.0-RELEASE-p11 #0: Tue Apr  5 18:54:35 UTC 2022
    root@amd64-builder.daemonology.net:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64
FreeBSD clang version 11.0.1 (git@github.com:llvm/llvm-project.git llvmorg-11.0.1-0-g43ff75f2c3fe)
VT(vga): text 80x25
CPU: AMD Ryzen 5 PRO 4650G with Radeon Graphics (3693.16-MHz K8-class CPU)
  Origin="AuthenticAMD"  Id=0x860f01  Family=0x17  Model=0x60  Stepping=1
  Features=0x1783fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE,SSE2,HTT>
  Features2=0x5ed82203<SSE3,PCLMULQDQ,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AESNI,XSAVE,OSXSAVE,AVX,RDRAND>
  AMD Features=0x2a500800<SYSCALL,NX,MMX+,FFXSR,RDTSCP,LM>
  AMD Features2=0x1f3<LAHF,CMP,CR8,ABM,SSE4A,MAS,Prefetch>
  Structured Extended Features=0x840021<FSGSBASE,AVX2,RDSEED,CLFLUSHOPT>
  TSC: P-state invariant
real memory  = 4831838208 (4608 MB)
avail memory = 4112486400 (3921 MB)
Event timer "LAPIC" quality 100
ACPI APIC Table: <VBOX   VBOXAPIC>
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
FreeBSD/SMP: 1 package(s) x 4 core(s)
random: registering fast source Intel Secure Key RNG
random: fast provider: "Intel Secure Key RNG"
random: unblocking device.
ioapic0: MADT APIC ID 4 != hw id 0
ioapic0 <Version 2.0> irqs 0-23
Launching APs: 3 1 2
Timecounter "TSC-low" frequency 1846581572 Hz quality 0
KTLS: Initialized 4 threads
random: entropy device external interface
[ath_hal] loaded
WARNING: Device "kbd" is Giant locked and may be deleted before FreeBSD 14.0.
kbd1 at kbdmux0
000.000058 [4347] netmap_init               netmap: loaded module
mlx5en: Mellanox Ethernet driver 3.6.0 (December 2020)
nexus0
vtvga0: <VT VGA driver>
cryptosoft0: <software crypto>
aesni0: <AES-CBC,AES-CCM,AES-GCM,AES-ICM,AES-XTS>
acpi0: <VBOX VBOXXSDT>
acpi0: Power Button (fixed)
acpi0: Sleep Button (fixed)
cpu0: <ACPI CPU> on acpi0
attimer0: <AT timer> port 0x40-0x43,0x50-0x53 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <32-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
isab0: <PCI-ISA bridge> at device 1.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xd000-0xd00f at device 1.1 on pci0
ata0: <ATA channel> at channel 0 on atapci0
ata1: <ATA channel> at channel 1 on atapci0
vgapci0: <VGA-compatible display> port 0xd010-0xd01f mem 0xe0000000-0xe1ffffff,0xf0000000-0xf01fffff irq 18 at device 2.0 on pci0
vgapci0: Boot video device
em0: <Intel(R) PRO/1000 Network Connection> port 0xd020-0xd027 mem 0xf0200000-0xf021ffff irq 19 at device 3.0 on pci0
em0: Using 1024 TX descriptors and 1024 RX descriptors
em0: Ethernet address: 08:00:27:05:31:5d
em0: netmap queues/slots: TX 1/1024, RX 1/1024
pcm0: <Intel ICH (82801AA)> port 0xd100-0xd1ff,0xd200-0xd23f irq 21 at device 5.0 on pci0
pcm0: <SigmaTel STAC9700/83/84 AC97 Codec>
ohci0: <Apple KeyLargo/Intrepid USB controller> mem 0xf0804000-0xf0804fff irq 22 at device 6.0 on pci0
usbus0 on ohci0
usbus0: 12Mbps Full Speed USB v1.0
pci0: <bridge> at device 7.0 (no driver attached)
acpi_acad0: <AC Adapter> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
WARNING: Device "psm" is Giant locked and may be deleted before FreeBSD 14.0.
psm0: model IntelliMouse Explorer, device ID 4
orm0: <ISA Option ROM> at iomem 0xc0000-0xc7fff pnpid ORM0000 on isa0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff pnpid PNP0900 on isa0
atrtc0: <AT realtime clock> at port 0x70 irq 8 on isa0
atrtc0: registered as a time-of-day clock, resolution 1.000000s
Event timer "RTC" frequency 32768 Hz quality 0
atrtc0: non-PNP ISA device will be removed from GENERIC in FreeBSD 14.
Timecounters tick every 10.000 msec
ZFS filesystem version: 5
ZFS storage pool version: features support (5000)
pcm0: measured ac97 link rate at 26803 Hz
Trying to mount root from zfs:zroot/ROOT/default []...
Root mount waiting for: CAM usbus0
ugen0.1: <Apple OHCI root HUB> at usbus0
uhub0 on usbus0
uhub0: <Apple OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
ada0 at ata0 bus 0 scbus0 target 0 lun 0
ada0: <VBOX HARDDISK 1.0> ATA-6 device
ada0: Serial Number VB6f59a013-1469c71e
ada0: 33.300MB/s transfers (UDMA2, PIO 65536bytes)
ada0: 102400MB (209715200 512 byte sectors)
cd0 at ata1 bus 0 scbus1 target 0 lun 0
cd0: <VBOX CD-ROM 1.0> Removable CD-ROM SCSI device
cd0: Serial Number VB2-01700376
cd0: 33.300MB/s transfers (UDMA2, ATAPI 12bytes, PIO 65534bytes)
cd0: Attempt to query device size failed: NOT READY, Medium not present
uhub0: 12 ports with 12 removable, self powered
vboxguest0 port 0xd040-0xd05f mem 0xf0400000-0xf07fffff,0xf0800000-0xf0803fff irq 20 at device 4.0 on pci0
vboxguest: loaded successfully
intsmb0: <Intel PIIX4 SMBUS Interface> irq 23 at device 7.0 on pci0
intsmb0: intr IRQ 9 enabled revision 0
smbus0: <System Management Bus> on intsmb0
[drm] amdgpu kernel modesetting enabled.
lo0: link state changed to UP
em0: link state changed to UP
Wie kann ich denn herausfinden, welche Konfigurationsdateien ausgeführt werden und wo die Modulkonfiguration erfolgt?

Besten Dank!
 
Wie kann ich denn herausfinden, welche Konfigurationsdateien ausgeführt werden und wo die Modulkonfiguration erfolgt?

Modulkonfiguration sagt mir nichts und es werden die üblichen (standard) Konfigurationsdateien benutzt, die zu dem jeweiligen Dienst in den entsprechenden Man-Pages beschrieben sind.

Wenig genug, um überhaupt eine Antwort zu schreiben und ich gebe auch gerne zu, dass ich einen anderen Beweggrund habe. Denn, mit Kernel-Bau hatte ich mich so bis FreeBSD 7er Versionen auch immer ganz gerne ausgetobt, aber seither fand ich das nicht mehr nötig. Beinahe alle Module sind zur Laufzeit ladbar, für fast alle Zwecke sind sie bereits vorhanden und werden automatisch mitgeliefert und müssen auch so benutzt werden, also es kann nicht mal ein Modul aus einer älteren Version eingebaut und geladen werden.
Der Aufwand, einen eigenen Kernel zu bauen, steht deshalb für mich in keinem Verhältnis mehr zum Nutzen.
Meine Meinung, als unbedarfter Endanwender.
Es gibt natürlich viele Anwender, die darauf stehen oder auch gute Gründe haben, einen eigenen Kernel zu bauen und ich finde, dass das im Handbuch schon ganz gut beschrieben ist. Das Kapitel 8 ist voll davon.

Es wundert mich nur, weshalb das (heutzutage) zu den ersten Schritten in einem FreeBSD gehören soll. Da gibt es doch viel mehr zu entdecken und zu lernen, was auch wichtig sein kann, wenn man denn später mal einen eigenen Kernel bauen möchte.
 
Danke zunächst.
Es wundert mich nur, weshalb das (heutzutage) zu den ersten Schritten in einem FreeBSD gehören soll. Da gibt es doch viel mehr zu entdecken und zu lernen, was auch wichtig sein kann, wenn man denn später mal einen eigenen Kernel bauen möchte.
Wa meinst Du denn? Ich wühle mich die letzte Zeit durch, zugegebenermaßen alte Bücher. Versuche, die Befehle zu lernen. Aber ich suche eben nach einem Weg, das System verstehen zu lernen. Und dachte, Bootvorgang, Kernel und Module verstehen wäre ein guter Schritt. Und nun komm ich schon beim Bootvorgang an Verständnisschwierigkeiten.
 
Dankeschön. Werde ich mir mal zu Gemüte führen.
Allerdings: meine Desktops funktioniert bestens in zwei VMs; auf meinem ehrwürdigen Acer TZ1830 möchte ich gar kein graphisches System. Dort hat aber die Installation auch gut funktioniert. Hab sogar über einen USB-Dongle eine Verbindung zum Netz hinbekommen, die ab und an sogar stabil bleibt :)
 
Wa meinst Du denn? Ich wühle mich die letzte Zeit durch, zugegebenermaßen alte Bücher. Versuche, die Befehle zu lernen. Aber ich suche eben nach einem Weg, das System verstehen zu lernen. Und dachte, Bootvorgang, Kernel und Module verstehen wäre ein guter Schritt. Und nun komm ich schon beim Bootvorgang an Verständnisschwierigkeiten.
obwohl man das auch gerne übersieht, ist der Bootvorgang eines Betriebssystems immer eine Herausforderung.
Für einfache Verhältnisse ist das aber heute auch alles schon gelöst und muss nicht neu erfunden werden. Wer könnte denn auf Anhieb einen GRUB verstehen oder aufsetzen können? Ich zumindest nicht.

Nun bin ich ganz sicher nicht das Maß der Dinge und andere Leute, viele FreeBSD-Nutzer, verstehen sehr sehr viel mehr von der Materie als ich.
Mir ist eben nicht ganz klar, was du möchtest.
Womöglich kann ich dir gar nicht antworten, weil ich zu wenig Wissen habe.
Vielleicht möchtest du am Source-Code mit arbeiten oder ihn verstehen, keine Ahnung.

Fast allen Nutzern hier kommt es darauf an, ihre speziellen Anwendungen auf einem FreeBSD laufen zu lassen. FreeBSD läuft dabei im Untergrund mit allen Vor- und Nachteilen. Nur wenige Benutzer wollen dabei FreeBSD selbst erleben und erforschen.
Wenn du zu solch einer Ausnahme-Gruppe gehörst, ist es natürlich sehr verständlich, dass du erst mal einen eigenen Kernel haben willst und all das studierst, was dazu nötig ist.
Dahingehend war meine Frage gemeint. Keinesfalls als Kritik.

Du hast zwei funktionierende Desktop-Systeme auf FreeBSD? Die meisten Anwender würden sich VON schreiben, wenn sie das hinbekommen könnten.
Welche weiteren Ansprüche hast du?
Was ich sagen wollte ist, dass heute nur selten Probleme durch den Eigenbau eines Kernels gelöst werden und deshalb dies für einen Einsteiger keine Notwendigkeit mehr darstellt.
Willst das lernen oder brauchst du das?
 
Dahingehend war meine Frage gemeint. Keinesfalls als Kritik.

Ach nein, als Kritik habe ich das gar nicht verstanden.

Ich meine aber dennoch, dass es hier sehr viele Leute gibt, die ein - für mich schier unglaubliches - Wissen haben. Soweit will ich gar nicht gehen, dafür fehlt mir Grundwissen, Talent und natürlich die Zeit. Und Lehrkräfte. Und Programmierkenntnisse. Undundund... Schade, aber so ist es nun mal.
Ein wenig Mehr wäre aber schön.

Ich mach, mit Unterbrechungen, seit den 90er mit Linux rum. Seinerzeit musste man X noch konfigurieren, teilweise musste man Kernel anpassen, um das OS überhaupt ans Laufen zu bekommen. Ich habe den Leuten, die das gemacht haben (auch auf meinen Rechnern; später hab ich dann zumindest X so anpassen können, dass es lief), sehr staunend zugesehen. Und nicht die Bohne verstanden, was die gemacht haben. Habs immer mal wieder versucht, dahinter zu steigen, aber immer schnell und frustriert wieder aufgegeben.
Hab dann eben nur "angewendet": Email, Web, Musik hören, solche Dinge. Und hab mich gefreut, wenn es rannte; Probleme hab ich meist mit Anleitungen aus dem Netz geregelt bekommen.
Nun hab ich aber wieder Blut geleckt und will es mal wieder versuchen, mehr zu verstehen. Also vom Oberflächenwissen etwas tiefer einsteigen. Vielleicht für die Altersweisheit.
Ich dachte mir schon, dass es schwierig ist, mein Anliegen zu formulieren, versuche es mal etwas konkreter:

Bootprozess: ich habe - wie Ihr vermutlich - einige Loaderdateien in /boot/. Ich habe keinen Schimmer, welche die "ausführenden" Dateien sind. Das würde ich gerne nachvollziehen zu können (ich sitze hier an einem Ubuntu Host mit FreeBSD auf der VirtualBox - ich VERMUTE mal, es ist der zfsloader mit der efi.4th. Was danach kommt, hab ich auch noch nicht geblickt. Vermute mal, /etc/rc.conf?)
Verstehen würde ich gerne, welche Module wann warum geladen werden. Diese ganzen Verweise mit /boot/loader.conf, /boot/boot.loader, loader.rc usw. verwirren mich völlig.

Ein erstes Ziel hab ich: auf dem Acer soll ein BSD laufen, ohne GUI, mit stabiler WLAN-Verbdingung. Und schlankem Kernel. Ohne Schnickschnack, sehr schmal, sehr einfach, schnell, zuverlässig. Und von dort weiter in die Materie: wie starten die Prozesse, mit welcher Konfiguration, warum ist die Konfiguration so usw.
 
Also, der FreeBSD-Bootprozess. Vorweg, in "Design and Implementation of the FreeBSD Operating System" ist der kernelinterne Teil des Bootprozesses in aller Tiefe beschrieben. Falls es Interesse an dem gibt. :)

  • Die erste Phase des Bootvorgangs ist von der Architektur abhängig:
    • Auf BIOS-Systemen mit GPT-Partitionen wird der Master Boot Record geladen, der wiederum die erste Partition von Typ freebsd-boot sucht und deren Inhalt in den Speicher lädt. Anschließend wird der Instruktionspointer auf den Anfang der geladenen Partition gesetzt. Diese zweite Stufe des Loaders öffnet eventuelle GELI-Verschlüsselungen, lädt und wertet die /boot.config aus und lädt anschließend /boot/loader aus dem Dateisystem. Der Master Boot Record liegt als /boot/pmbr im Dateisystem, die zweite Stufe als /boot/gptboot für UFS und /boot/gptzfsboot für ZFS. Sie können per gpart bootcode an die jeweiligen Stellen geschrieben werde.
    • EFI-Systeme haben meist eine Kopie von /boot/loader.efi auf der EFI-Partition liegen, welche mit efibootmgr im NVRAM registriert wurde. Das EFI lädt diese und führt sie aus.
  • In jedem Fall läuft am Ende der Loader. Je nach Architektur in unterschiedlichen Formen - DOS-Anwendung, EFI-Anwendung, UBOOT, etc. - aber das Programm ist immer gleich. Es ist per Lua und FORTH scriptbar, die Standardscripte zeichnen dieses schöne Menü mit dem FreeBSD-Logo. Es bietet ein Prompt für Kerneloptionen. Vor allem aber lädt und verarbeitet es in dieser Reihenfolge /boot/device.hints (eigentlich nur noch für Hardware, die nicht automatisch enumeriert werden kann), /boot/defaults/loader.conf und schließlich /boot/loader.conf. Es setzt die darin angegeben Optionen, lädt die referenzierten Kernelmodule und so weiter. Außerdem wird der angegebene Kernel (als Standardeinstellung /boot/kernel/kernel geladen und am Ende abhängig der Architektur gestartet.
  • Der Kernel bootet, was ich hier mal außen vor lasse. Am Ende startet er /sbin/init. Der Kernel ist immer PID 0 und init ist immer PID 1.
  • init schaut nach, ob das System im Single User oder Multi User Mode gebootet wurde. Ist es im Single User Mode, zeigt init ein kleines Prompt zur Auswahl einer Shell und startet sie. Damit ist es fertig. Im Multi User Mode wird /etc/rc aufgerufen.
  • Das rc-System ist komplex, die Manpage man rc erläutert es. Es läuft aber darauf hinaus, dass /etc/rc.conf geladen und anschließend jedes rc-Script in /etc/rc.d und /usr/local/etc/rc.d ausgeführt.
  • Am Ende startet rc für jede in /etc/ttys konfigurierte TTY ein /sbin/getty, was entsprechend der Konfiguration weiter macht. Meist startet es /usr/bin/login, teilweise konfiguriert es serielle Schnittstellen, startet xdm und so weiter.
 
Vermute mal, /etc/rc.conf?
Genau. Das ist die zentrale und wichtigste Konfigurationsdatei, mehr brauchst Du eigentlich nicht. Ansonsten nur eventuell noch die /boot/loader.conf (muss meistens sogar zuerst noch erstellt werden, am besten mit ee). Kernel umkompilieren braucht man wirklich nicht, das System ist schlank genug und wird auch mit dem GENERIC Kernel wunderbar auf alter Hardware laufen.
Für ein System ohne X hast Du ja schon erkannt, dass man eben nur FreeBSD zu installieren braucht.
Für einen funktionierenden Desktop empfehle ich einfach ein

# pkg install xorg lightdm lightdm-gtk-greeter xfce

und die Einträge

lightdm_enable="YES"
dbus_enable="YES"

in /etc/rc.conf

Dann sollte es schon funktionieren. Je nach Grafikkarte oder -chip sind dann noch weitere Dinge zu installieren und einzutragen.
 
Wow, besten Dank. Das bringt mich der Materie schon mal etwas näher.

Ich versuche, was ich verstanden habe, in Wort zu fassen - am Beispiel meiner Acer-Konfiguration (die Meldungungen oben beziehen sich auf meine VM):
- es gibt auf JEDEN Fall einen MBR auf BIOS-Systemen (das wusste ich nicht; dachte, seit GPT benötigt man den MBR nicht mehr :o)

"boot manger"
MBR wird geladen und sieht bei dem Acer so aus:
Code:
ada0p1, 512K, Mode r0w0e0, label gptboot0, type freebsd-boot
1. und 2. Stufe
/boot/boot.config gibt es bei mir nicht. In meinem /boot/ gibt es einen loader und einen loader.efi und noch ein paar loader.xyz
Welcher ausgeführt wird, ist mir noch nicht klar. Aber wie es scheint, ist das nicht so wichtig, wenn das Programm gleich ist. "Einfaches" reinschauen klappt nicht wegen Programmierung in Lua (darum kümmere ich mich mal, wie man sich das anschauen kann).
Nun müsste an dieser Stelle das ZFS eingebunden werden
Und weiter Hardware mit /boot/device.hints
3. Stufe
loader läuft und es kommen /boot/defaults/loader.conf mit den Modulen, die dort im module_path="/boot/modules;/boot/dtb;/boot/dtb/overlays" verzeichnet sind.
Wobei: /boot/modules/ und /boot/dtb/overlays sind bei mir leer; Module gibt es aber in /boot/kernel/ haufenweise
Kernel wird geladen
4. Stufe
init und Fogleprozesse starten

Liege ich soweit richtig?

Das Buch würde mich vermutlich heillos überfordern, aber ich denke schon leicht ernsthaft über eine Anschaffung nach :)
 
# pkg install xorg lightdm lightdm-gtk-greeter xfce
Auf meinen VMs läuft xfce mit slim.
Ein kleines Problem bei dem OS ohne GUI ist die WLAN-Karte. Es gibt wohl Lösungen zu der (eine Broatcom-Karte) im Netz. Aber dieses Modul will ich loswerden, da 1. ich einen (meist) funktionierenden USB-Dongle hab und 2. seltsamer Weise andauernd Fehlermeldungen zu der Karte auf die Konsolen geworfen werden. Das macht das Arbeiten manchmal SEHR nervig.
Hab schon erfolgos versucht, das Modul auf die blacklist zu setzen. Aber hier kommt mein Anliegen zum Tragen: das war kein planvolles Vorgehen, sondern trial and error. Es ist nicht so, dass ich mir dieser bezaubernden Methode noch nie komplette Installationen zerschossen hätte :rolleyes:
 
Ja, das ist soweit korrekt. Aber noch ein paar Anmerkungen:

  • Tatsächlich ist der MBR das Einzige, was beim BIOS in Sachen Boot spezifiziert ist. Das BIOS liest die ersten 512 Byte des Bootdevice und führt sie aus. Was sie machen, Partitionstabelle lesen und so weiter, ist nicht festgelegt. Weil 512 Byte extrem wenig sind, gibt es dann diese Tricks mit Bootpartitionen und so weiter. Einfach, damit man mehr Code ausführen kann.
  • /boot/boot.config und /boot/loader.conf sind optional und werden bei Bedarf angelegt. Es gibt zu den meisten Konfigurationsdatein Manpages, die beschreiben, was sie tun. /boot/boot.config wirst du wahrscheinlich nie brauchen, denn sie dienst vor allem dazu, serielle Konsolen und den Loader zu verheiraten. /boot/loader.conf schon eher, wobei da wirklich nur Dinge gemacht werden sollten, die auch wirklich vor dem Boot konfiguriert sein müssen.
  • Der Loader für BIOS-Boot ist /boot/loader. Die Kette ist MBR -> Bootpartition -> /boot/loader -> Kernel.
  • Die zum Kernel zugehörigen Module liegen im Kernelverzeichnis, also /boot/kernel/ für den Standardkernel. /boot/modules/ ist für externe Module von Drittanbietern. Anders als bei Linux sind Module nicht 100% an den jeweiligen Kernel gebunden. Leider gilt das ausgerechnet für die DRM-Module nicht, da GPU-Treiber tief im Kernel rumfummeln. Grundsätzlich sollten optionale Module aber nicht über /boot/loader.conf geladen werden. Besser ist es über die `etc/rc.conf zu gehen. Außerdem gibt es noch ein Autoload-System...
 
Auf meinen VMs läuft xfce mit slim.
Slim ist total out und problematisch, wenn man mehrere DE's nebeneinander betreiben will. Nimm lightdm, glaube mir. Da braucht man gar nichts mehr zu machen, die verschiedenen DE's werden automatisch erkannt und direkt als Option aufgelistet.
Ein kleines Problem bei dem OS ohne GUI ist die WLAN-Karte.
Wenn man eine FreeBSD-Installation auf dem Notebook startet, wird das installierte WLAN-Modul automatisch erkannt und kann direkt für den DHCP-Betrieb konfiguriert werden. Man kann einfach sein Netz auswählen und sein Passwort eingeben, ggf. muss je nach Modul noch irgendeine Angabe bezüglich ETSI gemacht werden, die man für sein Land kennen muss. Es wird so automatisch eine /etc/wpa_supplicant erstellt, so dass sich das Notebook gleich beim Start automatisch mit dem Router verbindet. Eine GUI braucht man nicht mehr dazu.

Für ältere Hardware und normale Festplatten ist mbr immernoch ausreichend.
 
Außerdem gibt es noch ein Autoload-System...
Nochmals Bedank. Hab viel gelernt aus Deinen Posts!!
Hab mal zum autoloadsystem einen Blick ins Wiki geworfen. Gleich wieder zugemacht. Das kann ich, glaube ich, mal hinten anstehen lassen.
Im Ernst: die vielen neuen Dinge muss ich auch erstmal verdaulichen.
Wenn man eine FreeBSD-Installation auf dem Notebook startet, wird das installierte WLAN-Modul automatisch erkannt
Genau das scheint aber ein Problem zu sein. Ich werde demnächst mal die Ausgaben posten (ist nicht so einfach, da ich ja auf dem Acer keine GUI hab und nicht über Lynx o ins Forum gehen möchte ;) Copy-Paste geht also nicht.
 
Hab mal zum autoloadsystem einen Blick ins Wiki geworfen. Gleich wieder zugemacht. Das kann ich, glaube ich, mal hinten anstehen lassen.
Ich meinte "Devmatch". Es funktioniert von der Idee her in etwa wie Linux udev. Es gibt eine große Liste wer welche Hardware unterstützt. Devmatch geht die Hardware durch, schaut nach passenden Modulen und lädt sie. Es ist aufgrund der im BSD-Lager vorherrschenden Abneigung gegen Automagie kaum verbreitet :)
 
Wenn man eine FreeBSD-Installation auf dem Notebook startet, wird das installierte WLAN-Modul automatisch erkannt und kann direkt für den DHCP-Betrieb konfiguriert werden.
Im Acer ist eine Broadcom BCM 43225 verbaut.
Sie wird bei der Installation erst gar nicht als Netzwerkgerät angeboten.
dmesg ergibt:
bwn0: bwn_phy_n_attach: BWN_GPL_PHY not in kernel konfig; no PHY-N support
device_attach: bwn0 attach returned 6

Ich meinte "Devmatch". Es funktioniert von der Idee her in etwa wie Linux udev. Es gibt eine große Liste wer welche Hardware unterstützt. Devmatch geht die Hardware durch, schaut nach passenden Modulen und lädt sie. Es ist aufgrund der im BSD-Lager vorherrschenden Abneigung gegen Automagie kaum verbreitet :)
:D
;)
 
Im Acer ist eine Broadcom BCM 43225 verbaut.
in zahlreichen MacBooks waren auch Broadcoms verbaut. Die werden halt nicht so einfach durch Freie Module unterstützt, auch nicht bei Linux.
Meine einfache und ehrliche Antwort: neue Karte statt Gefrickel. Hilft sicher, zuverlässig, einfach und nachhaltig.
 
Habe ich zwar noch nie probiert, aber vielleicht kriegt man den Chip mit NDIS zum Laufen (12.5.1.1.):


Also FreeBSD erstmal mit Kabel installieren und dann diese Prozedur aus dem Handbook ausprobieren.
 
Ich hatte ja schon einen USB-Dongle dran, mit dem klappte es einigermaßen (hin und wieder ein paar Abbrüche).
Morgen werde ich mal Cabriosfahrers Hinweis testen.
Nun die Frage, falls es nicht klappt: wie entferne ich denn dauerhaft das Laden der Module für die BCM Karte (das sind gleich ein paar siba- und bcm-Module)? Das hab ich noch nicht gerafft. Ein temporäre Entfernen funktioniert nicht, da sie angeblich in Benutzung sind.

Vielen Dank Euch allen zunächst für die bisherigen Tips!! Echt toll hier.
Melde mich morgen Abend und grüß Euch bis dahin!
 
Nun die Frage, falls es nicht klappt: wie entferne ich denn dauerhaft das Laden der Module für die BCM Karte
Im BIOS das jeweilige Gerät deaktivieren, dann wird das Modul auch nicht geladen. Löschen musst du da nix. :)

Bei einem Festrechner würde man die entsprechende Karte einfach ausbauen und gegen eine passende ersetzen. Das geht bei manchen Laptops auch, aber wenn der Chip auf dem Mainboard fest verlötet ist, dann bleibt einem als saubere Variante nur das Deaktiveren im BIOS und den Umweg über einen Stick.
 
Das geht bei manchen Laptops auch, aber wenn der Chip auf dem Mainboard fest verlötet ist, dann bleibt einem als saubere Variante nur das Deaktiveren im BIOS und den Umweg über einen Stick.
Nicht zu vergessen so Schweinkram wie Hardware-Whitelists. Aber ich meine, dass Acer sowas nie gemacht hat.
 
Stimmt, da ist mir diesbezüglich nichts bekannt. Jedoch gibt es bei Acer Wartungspasswörter und Tastenkombinationen für das BIOS, damit man überhaupt mehr als das Datum einstellen kann. Nicht jedes BIOS, nicht jedes Gerät...aber sollte das hier so sein, kann man das googlen.
 
Hallo again.

Die Nummer von @cabriofahrer hat leider nicht geklappt. dmesg wirft zig Aussagen zu "no match for Ndis*" und zum Schluss "NDIS dummy called..." aus. Jedenfalls sagt BSDCONFIG "no wireless devices found". Schade.
@mr44er
den Lötkolben wollte ich nun wirklich nicht bemühen ;) ich habe die letzte Stunde damit verbracht, Infos zum Entsperren des BIOS (Insydeh20 rev. 3.5) zu finden. Da gibt es ziemlich viel im Netz. Einer hats auf YT gezeigt, dass es geht, ich hab aber nicht verstanden, wie ers gemacht hat.
Also: noch keine Lösung.
Kann man das Ding nicht einfach (richtig) blacklisten (habs ja versucht, das Teil ist aber echt hartnäckig)....?
Schweinkram wie Hardware-Whitelists.
Schweinkram kenn ich ja. Hardware-Whitelists? Heißt das, dass man nur die Hardware nutzen kann/darf, die verbaut ist??
Beim Acer funktionierte ja zumindest das WLAN-USB-Dongle. Das ich nun gleich mal wieder installieren werde, hatte es zwischenzeitlich der Sicherheit halber runtergeworfen.
 
ich hab aber nicht verstanden, wie ers gemacht hat
Auf die Schnelle versteh ichs so: Wenn Logo sichtbar, F2 hämmern, bis man im BIOS ist. Nun 3x zeitgleich FN+TAB drücken. Exit/Speichern.
Erneut auf Logo warten, erneut F2 hämmern und dann sollte man alles einstellen können.
 
Zurück
Oben