Habe mal ne Verständnisfrage: wie bzw. wann werden eigentlich die Treiber ausgewählt? Werden diese bei der Installation in den Kernel gelinkt oder werden sie beim Booten des fertig installierten Systems dynamisch geladen?
Die Treiber werden in den Kernel gelinkt, d.h. meist beim übersetzen des Kernels oder eben als nachgeladenes Modul. Beim Booten sucht und findet der Kernel Hardware. Für jedes gefundene Stück Hardware überprüft er, ob er auch einen Treiber dazu hat.
Im Prinzip funktioniert das so, dass der Kernel beim Finden eines Stück's Hardware jeden Treiber aufruft und dem Treiber das Device Handle (*) des gefundenen Hardware Controllers übergibt. Der Treiber stellt dann von sich aus fest, ob er die Hardware unterstützt (das nennt man "probing"). Wenn ja, dann wird der Treiber an das Device Handle gebunden ("attached"). Jetzt kann's natürlich sein, dass der Treiber dafür sorgt, dass neue Hardware entdeckt wurde, z.B. wenn der USB Host Controller Treiber gestartet wird. Der ganze Prozess läuft so lange, bis entweder alle Hardware an einen Treiber gebunden wurde - oder keine neue Hardware gefunden wurde und es für die Hardware ohne Treiber keine Treiber im System gibt.
Den prinzipiellen Algorithmus kannst Du entweder in Tanenbaums "Modern Operating Systems", in McKusicks "Design of the FreeBSD Operating System" (bestimmt auch in der älteren, nicht-FreeBSD-spezifischen Ausgabe) oder in jedem besseren Buch über Betriebssysteme nachlesen. Apple hat auch eine ganz gute Online-Dokumentation wie das in Mac OS X funktioniert, auch sehr interessant.
(*) Eindeutige Repräsentation der Hardware in Software, d.h. im Kernel
Mir geht es eigentlich nur um den Hintergrund, falls sich eine Komponente ändern sollte. Z.B. eine andere Soundkarte oder gar ein anderes Mainbord. Würde das System beim nächsten Boot-Vorgang die veränderten Hardware erkennen und die Treiber entsprechend laden, weil alle Treiber auf der Platte sind? Oder muß man das System neu installieren, weil das System ursprünglich unter anderer Hardware installiert wurde?
Neu installieren wirst Du nicht müssen - wenn Du nicht gerade die Prozessorarchitektur wechselst

. Möglicherweise ist der Treiber für die neue Hardware nicht in Deinem verwendeten Kernel enthalten, dann müsstest Du den Kernel neu übersetzen, oder eben ein Treiber-Modul nachladen, das ist alles. Wenn Du den NetBSD Standard Kernel verwendest und bei gängiger Hardware bleibst, dann wird Deine Hardware beim nächsten Mal booten bestimmt funktionieren.