Creazione dei dispositivi con Make_devices-1.2

Il pacchetto make_devices contiene uno script per creare nodi di dispositivo.

Tempo approssimativo di costruzione:  1 SBU
Spazio necessario sul disco:     160 KB

Per la sua installazione Make_devices dipende da: Bash, Bzip2, Coreutils.

Creazione dispositivi

Notate che scompattare il file make_devices-1.2.bz2 non crea una directory a cui voi potete accedere, poiché il file contiene solamente uno script di shell.

Installate lo script make_devices:

bzcat make_devices-1.2.bz2 > /dev/make_devices
chmod 754 /dev/make_devices

I nodi di dispositivo sono file speciali: cose che possono generare o ricevere dati. Di solito corrispondono a parti fisiche di hardware. Nodi di dispositivo possono venire creati inserendo comandi nella forma: mknod -m mode name type major minor. In un tale comando, mode è il solito terzetto ottale di permessi read/write/execute e name è il nome del file di dispositivo da creare. Può sembrare sorprendente, ma il nome di dispositivo attualmente è arbitrario, tranne che molti programmi fanno riferimento a dispositivi come /dev/null con il loro nome usuale. I tre parametri rimanenti dicono al kernel a quale dispositivo fa riferimento il nodo. Il type è una lettera, sia b o c, che indica se al dispositivo si accede a blocchi (come un hard disk) o carattere per carattere (come la console). Mentre major e minor sono numeri, i quali assieme formano un codice che identifica il dispositivo presso il kernel. Una lista dei numeri di dispositivo attualmente assegnati per Linux può essere trovata nel file devices.txt nella sottodirectory Documentation dei sorgenti del kernel.

Notate che la stessa combinazione major/minor normalmente viene assegnata sia a dispositivi a blocchi e a caratteri. Questi, tuttavia, non hanno tra loro alcuna relazione e non possono essere scambiati. Un dispositivo è identificato dal terzetto type/major/minor, non solo la coppia major/minor, così quando si crea un nodo di dispositivo è importante scegliere il corretto type (tipo) di dispositivo.

Poiché cercare il terzetto type/major/minor e usare manualmente mknod è tedioso e porta a fare errori, è stato creato lo script make_devices. Contiene un'intera serie di comandi mknod, uno per ciascun dispositivo, completo di nome raccomandato e assegnazioni di permesso e gruppo. È stato impostato in modo tale che solo un minimo insieme di dispositivi usati comunemente è abilitato e le altre linee sono commentate. Potete aprire make_devices in un editor e personalizzarlo secondo i vostri bisogni. Questo richiede un po' di tempo, ma è molto semplice. Quando siete soddisfatti, lanciate lo script per creare i file di dispositivo:

[Warning]

Attenzione

Attenzione a modificare make_devices in modo che corrisponda ai vostri setup di sistema (es. numeri di partizioni) altrimenti si possono verificare errori di avviamento.

cd /dev 
./make_devices

Se in precedenza avete avuto successo nel montare il file system devpts nella sezione chiamata “Montaggio dei file system proc e devpts”, potete continuare con la prossima sezione. Se vi è impossibile montare devpts, dovrete creare alcuni nodi di dispositivo statici ptyXX e ttyXX. Per fare questo aprite make_devices nel vostro editor, andate alla sezione “Pseudo-TTY masters ” e abilitate alcuni dispositivi ptyxx. Una manciata è sufficiente a permettere alla suite di test di girare, ma se intendete far funzionare un kernel senza supporto devts probabilmente ve ne serviranno di più (ogni xterm, connessione ssh, connessione telnet, e simili, usa uno di questi pseudo terminali). Nella sezione immediatamente successiva “Pseudo-TTY slaves”, abilita i corrispondenti dispositivi ttyxx. Quando avete fatto, rieseguite ./make_devices dall'interno di /dev per fargli creare i nuovi dispositivi.

Contenuti di Make_devices

Script installati: make_devices

Breve descrizione

make_devices è uno script per creare un insieme di base di nodi di dispositivo statici, i quali normalmente si trovano nella directory /dev.