LKN: Personalizzare un Kernel: differenze tra le versioni

m
nessun oggetto della modifica
mNessun oggetto della modifica
 
(2 versioni intermedie di uno stesso utente non sono mostrate)
Riga 182: Riga 182:
</pre>
</pre>


Si può scaricare un file d'esempio, contenente questo script, dal sito web del libro, riportato nella sezione ''Come contattarci'' che si trova nella prefazione.
Si può scaricare un file d'esempio, contenente questo script, dal sito web del libro, riportato nella sezione ''Come contattarci'' che si trova nella prefazione (ossia [http://www.oreilly.com/catalog/9780596100797/ qui] NdT).


Questo script cerca nel ''sysfs'' tutti file chiamati ''modalias''. Il file ''modalias'' contiene gli alias dei moduli e comunica al comando ''modprobe'' quali moduli debbano essere caricati per ogni dispositivo. L'alias del modulo è composto da una combinazione di: produttore del dispositivo, ID, tipo di classe ed altri identificativi univoci per il tipo di dispositivo in questione. Tutti i moduli del driver del kernel hanno una lista interna dei dispositivi che supportano, che è generata automaticamente dalla lista dei dispositivi che il driver comunica al kernel di poter supportare. Il comando ''modprobe'' ricerca tutti i dispositivi nella lista di tutti i driver e cerca di trovare una corrispondenza confrontando l'alias. Se trova una corrispondenza, allora provvede al caricamento del modulo (questa procedura è la stessa seguita dal caricamento automatico dei driver in Linux).
Questo script cerca nel ''sysfs'' tutti file chiamati ''modalias''. Il file ''modalias'' contiene gli alias dei moduli e comunica al comando ''modprobe'' quali moduli debbano essere caricati per ogni dispositivo. L'alias del modulo è composto da una combinazione di: produttore del dispositivo, ID, tipo di classe ed altri identificativi univoci per il tipo di dispositivo in questione. Tutti i moduli del driver del kernel hanno una lista interna dei dispositivi che supportano, che è generata automaticamente dalla lista dei dispositivi che il driver comunica al kernel di poter supportare. Il comando ''modprobe'' ricerca tutti i dispositivi nella lista di tutti i driver e cerca di trovare una corrispondenza confrontando l'alias. Se trova una corrispondenza, allora provvede al caricamento del modulo (questa procedura è la stessa seguita dal caricamento automatico dei driver in Linux).
Riga 541: Riga 541:
<pre>
<pre>
$ get-driver.sh sda
$ get-driver.sh sda
looking at sysfs device: /sys/devices/pci0000:00/0000:00:1f.2/host0/
looking at sysfs device: /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0
target0:0:0/0:0:0:0
found driver: sd
found driver: sd
found driver: ata_piix
found driver: ata_piix
Riga 549: Riga 548:
<pre>
<pre>
$ get-driver.sh ttyUSB0
$ get-driver.sh ttyUSB0
looking at sysfs device: /sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2.
looking at sysfs device: /sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2.3/4-2.3:1.0/ttyUSB0
3/4-2.3:1.0/ttyUSB0
found driver: pl2303 from module: pl2303
found driver: pl2303 from module: pl2303
found driver: pl2303 from module: pl2303
found driver: pl2303 from module: pl2303
Riga 559: Riga 557:
</pre>
</pre>


Potete scaricare un file di esempio contenente questo script dal web site del libro, fornito nella sezione "How to Contact Us" nella Prefazione.
Potete scaricare un file di esempio contenente questo script dal web site del libro, fornito nella sezione "How to Contact Us" nella prefazione (ossia [http://www.oreilly.com/catalog/9780596100797/ qui] NdT).


Di seguito lo script:
Di seguito lo script:
Riga 569: Riga 567:
if [ $# != "1" ] ; then
if [ $# != "1" ] ; then
  echo
  echo
  echo "Script to display the drivers and modules for a specified sysfs
  echo "Script to display the drivers and modules for a specified sysfs class device"
class device"
  echo "usage: $0 <CLASS_NAME>"
  echo "usage: $0 <CLASS_NAME>"
  echo
  echo
3 581

contributi