Come ciò è fatto dipende dal driver. Alcuni hanno più di un modo per scoprire come sono configurati i lori dispositivi fisici. Ad un estremo c'è il caso nel quale si devono codificare permanentemente le risorse-bus nel kernel e ricompilarlo. All'altro estremo, i driver fa tutto automaticamente e quindi non si deve fare niente. Potrebbe pure impostare le risorse-bus nell'hardware usando i metodi PnP.
In mezzo ci sono i casi nei quali si esegue un programma per fornire le informazioni sulle risorse al driver oppure si mettono tali informazioni in un file. In alcuni casi i driver potrebbe cercare i dispositivo agli indirizzi ai quali sospetta che questo risieda. Poi può provare a verificare diversi IRQ per vedere quale funziona. Può o meno fare queste cose automaticamente. In altri casi il driver può usare i metodi PnP per trovare il dispositivo e scoprire come sono state impostate le risorse-bus, ma non le imposterà lui stesso. Può pure guardare in alcuni file nella directory /proc.
Può essere necessario fornire le risorse-bus come parametro al kernel
o a un modulo caricabile. Si veda /usr/lib/modules_help/descr.gz per
un'elenco dei possibili parametri. Il modulo da caricare è elencato
in /etc/modules assieme con i propri parametri. In alcuni altri casi
le risorse-bus possono essere date come parametri al kernel. Sono
messe nel file lilo.conf
come append="..."
. Poi dev'essere
eseguito il programma lilo per salvare nel codice di avvio del kernel.
Sebbene ci sia una grande disuniformità su come i driver scoprono le informazioni sulle risorse-bus, il risultato finale è lo stesso. Ci sono così tanti dispositivi hardware diversi e driver per essi che è meglio guardare la documentazione per il proprio driver per capire come si informa sulle risorse-bus e cosa si deve fare per assicurasi che riceva le informazioni di cui ha bisogno. Nelle sezioni che seguono sono presentate brevi informazioni su alcuni gestori.
Per configurare il gestore della porta seriale standard (non per le
schede multiporta) si usa setserial. Spesso è eseguito da uno dei
file di inizializzazione. Nelle versioni più recenti c'è un file
/etc/serial.conf che si può «editare» semplicemente usando in modo
normale il comando setserial e quel che si imposta usando
setserial
è salvato nel file di configurazione
serial.conf
. Il file serial.conf
dovrebbe essere
consultato quando il comando setserial
è eseguito da un file di
inizializzazione. La popria distribuzione potrebbe o meno aver già
impostato questa cosa.
Ci sono due modi diversi di usare setserial
a seconda delle
opzioni che gli si dà. Un modo è di usarlo per dire manualmente al
driver la configurazione. L'altro è di indigare ad un indirizzo
specificato e segnalare se là esiste una porta seriale. Può pure
indigare a questo indirizzo e provare a rilevare quale IRQ è usato per
questa porta. Il driver esegue qualcosa di simile a setserial
all'avvio ma rileva gli IRQ, assegna semplicemente gli IRQ
«predefiniti» che potrebbe pure essere sbagliati. Controlla invece
l'esistenza di un aporta. Si veda il Serial-HOWTO per maggiori
dettagli.
Si deve fornire IO, IRQ e DMA come parametri al modulo oppure compilare il supporto all'interno del kernel fissando i valori. Alcune schede PCI saranno rilevate automaticamente (basta usare il comando lspci o equivalente). La RedHat fornisce un programma «sndconfig» che rileva le schede PnP ISA e configura automaticamente i moduli da caricare con le risorse-bus rilevate.
Questi rileveranno la scheda tramite i metodi PnP e poi selezioneranno il driver appropriato e lo caricheranno. Imposteranno anche le risorse-bus su una scheda PnP ISA. Può essere necessario intervenire manualmente per evitare conflitti. Nel driver ALSA, il supporto per il PnP ISA è opzionale e se si vuole si possono usare gli isapnptools.