[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]

20. Parametri di avvio del kernel

Il kernel è in grado di ricevere opzioni in fase di avvio che possono servire per scopi differenti. In particolare, per gestire alcuni dispositivi è necessario informare il kernel sulle loro caratteristiche (tipicamente l'indirizzo di I/O e il livello di IRQ).

Nel capitolo 9 si è già accennato al meccanismo attraverso cui si avvia il sistema e ai vari modi di passare al kernel queste istruzioni particolari: bootprompt, istruzioni append di LILO (/etc/lilo.conf) e di SYSLINUX, e opzioni della riga di comando di Loadlin. In questo capitolo vengono mostrati solo alcuni dei parametri di avvio che possono essere utilizzati.

È importante tenere presente che gli indirizzi di I/O vanno espressi in esadecimale, nella forma 0xnnn, il livello di IRQ viene indicato in modo decimale, e l'indirizzo di memoria condivisa viene espresso in esadecimale. Se non viene indicato diversamente, gli indirizzi di I/O e di memoria condivisa sono quelli di partenza.

Nel capitolo 22 sono riepilogati altri parametri affiancati ai moduli relativi, quando questi sono disponibili.

20.1 Parametri di uso generale

Alcuni parametri di avvio non riguardano dispositivi specifici, ma il sistema in generale. Si tratta in special modo delle informazioni sul dispositivo da utilizzare per il montaggio del filesystem principale, e dell'utilizzo della memoria.

20.1.1 Filesystem principale (root)

Nel momento dell'avvio, il kernel deve conoscere alcune informazioni essenziali sul filesystem principale. Per prima cosa deve sapere dove si trova (quale disco e quale partizione), quindi deve sapere in che modo deve essere montato inizialmente (in sola lettura o anche in scrittura). Questi dati possono essere memorizzati all'interno del kernel stesso, anche per mezzo del programma rdev.

Esempi

root=/dev/hda2

Il filesystem principale è contenuto nella seconda partizione del primo disco fisso IDE.

rw

Il filesystem principale viene aperto inizialmente in lettura e scrittura (per qualche ragione).

20.1.2 Memoria

20.1.3 Varie

Esempi

reserve=0x300,64

Riserva gli indirizzi di I/O da 0x300 a 0x340.

20.2 Dischi IDE, XT e simili

Gli elaboratori con architettura i386 e successive sono dotati generalmente di unità di controllo per i dischi di tipo IDE e derivati. In questo senso, raramente si incontrano problemi e con essi la necessità di fornire istruzioni particolari al kernel.

20.2.1 Dischi IDE

Nelle sintassi seguenti, hdx rappresenta un dispositivo corrispondente a un disco fisso, dove x è una lettera da a a h. La sigla iden rappresenta un dispositivo corrispondente a un'unità di controllo IDE, dove n è un numero da zero a tre.

20.2.2 Gestione particolare per ST-506 standard

20.2.3 Vecchie unità di controllo XT a 8 bit

Esempi

xd=2,5,0x320,3

Unità di controllo WD1002: indirizzo di I/O 0x320, livello di IRQ 5, canale DMA 3.

20.3 Interfacce di rete Ethernet

Le istruzioni di avvio riferite alle interfacce di rete Ethernet sono un po' strane e iniziano sempre con il parametro ether=. La sintassi generale è la seguente:

ether=<livello-IRQ>,<indirizzo-I/O>[<extra1>,[<extra2>...]],<nome>

In pratica, gli argomenti che identificano il livello di IRQ, l'indirizzo di I/O e il nome simbolico dell'interfaccia di rete sono sempre parte della sintassi, mentre altri argomenti nella parte centrale possono essere presenti in funzione del tipo di scheda.

Esempi

ether=11,0x300,eth0

Scheda NE2000: indirizzo I/O 0x300, livello di IRQ 11.

ether=11,0x300,eth0 ether=10,320,eth1

Due schede NE2000: la prima configurata con indirizzo I/O 0x300 e livello di IRQ 11, la seconda con indirizzo di I/O 0x320 e livello di IRQ 10.

ether=0,0,eth1

Due schede NE2000 configurate in modo differente e non conflittuale, in grado di essere riconosciute se installate singolarmente. Si vuole ottenere l'autorilevamento della seconda scheda.

ether=9,0x300,0,1,eth0

Scheda 3c503: indirizzo di I/O 0x300, livello di IRQ 9, ricetrasmettitore esterno.

ether=3,0,0,0,eth0

Scheda 3c503: si vuole che venga rilevato automaticamente l'indirizzo di I/O, mentre il livello di IRQ è 3. Si utilizza il ricetrasmettitore interno.

20.4 Unità di controllo dei dischetti

floppy=two_fdc

Specifica la presenza di due unità di controllo per i dischetti. Con questa istruzione si ritiene implicitamente che la seconda unità di controllo utilizzi l'indirizzo di I/O 0x370.

floppy=<indirizzo-I/O>,two_fdc

Viene specificata la presenza di una seconda unità di controllo con un indirizzo di I/O iniziale particolare.

floppy=thinkpad

Questa istruzione serve a gestire l'unità a dischetti degli elaboratori Thinkpad.

floppy=L40SX

Questa istruzione serve a gestire l'unità a dischetti degli elaboratori portatili IBM L40SX.

20.5 Mouse particolari

bmouse=<livello-IRQ>

Permette di definire il livello di IRQ di un'interfaccia bus-mouse.

msmouse=<livello-IRQ>

Permette di definire il livello di IRQ di un'interfaccia MS bus-mouse.

20.6 Porta parallela

Con i kernel 2.2.*, la gestione della porta parallela è cambiata. Mentre prima si poteva predisporre il kernel per la stampa, oppure per le connessioni PLIP, adesso è stato introdotto un livello intermedio, riferito direttamente alla porta parallela; poi questa viene abbinata al dispositivo di stampa o ad altre attività, anche in modo dinamico.

I dispositivi o le interfacce di rete che fanno uso della porta parallela, se devono essere indicati espressamente attraverso i parametri del kernel, devono fare riferimento alle porte parallele attraverso i nomi convenzionali parport0,...

Esempi

parport=0x3bc parport=0x378,7 parport=0x278,auto

Definisce esplicitamente la presenza di tre porte parallele, e per tutte specifica l'indirizzo di I/O; per l'ultima viene richiesto di determinare automaticamente l'indirizzo di I/O.

lp=parport0 lp=parport2

Definisce l'utilizzo della prima e della terza porta parallela per le stampanti; rispettivamente: lp0 e lp1.

20.7 Riferimenti

---------------------------

Appunti Linux 1999.09.21 --- Copyright © 1997-1999 Daniele Giacomini --  daniele @ pluto.linux.it


[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]