Avanti Indietro Indice

1. Introduzione

Il kernel ha la capacità di accettare informazioni all'avvio nella forma di `riga di comando', simile ad una lista di argomenti che si darebbe ad un programma. In generale questo viene usato per fornire al kernel informazioni circa i parametri hardware che il kernel non sarebbe in grado di determinare di per se, o evitare/sovrascrivere i valori che il kernel altrimenti rileverebbe.

È il lavoro del boot loader (es. LILO, loadlin o Grub) di prendere queste informazioni dall'utente e metterle in un posto precedentemente concordato dove il kernel possa trovarle una volta che si avvia.

La presente revisione copre i kernel fino e incluso il v2.4.20. e v2.5.63

Il BootPrompt-Howto è di:

Paul Gortmaker, p_gortmaker @ yahoo.com

This document is Copyright (c) 1995-2003 by Paul Gortmaker. Please see the Disclaimer and Copying information at the end of this document ( copyright) for information about redistribution of this document and the usual `we are not responsible for what you manage to break...' type legal stuff.

1.1 A chi si rivolge e applicabilità

La maggior parte degli utenti Linux non dovrebbero neanche guardare questo documento. Linux fa eccezionalmente un buon lavoro nella rilevazione della maggior parte dell'hardware, selezionando ragionevolmente le impostazioni di default per la maggior parte dei parameteri. L'informazione in questo documento mira agli utenti che possono desiderare modificare alcune impostazioni di default per ottimizzare il kernel per le proprie particolari macchine, o a un utente che ha `personalizzato il proprio' kernel per supportare un hardware non comune per il quale i default automatici non sono l'ottimo.

Per il bene di questo documento è meglio dividere gli argomenti di avvio in due categorie generali; (a)una gestita dal kernel e (b)quella gestita da un driver di dispositivo. Gli esempi sarebbero init= che dice al kernel quale dovrebbe essere il primo programma da eseguire, contro aha154x= che dice ad un driver di dispositivo per una scheda SCSI quale risorsa hardware dovrebbe usare. Questo documento si concentra nel dare informazioni dettagliate su questi per i motivi descritti sotto.

NOTA IMPORTANTE: Gli argomenti di avvio relativi ai driver si applicano soltanto ai driver hardware che sono compilati direttamente nel kernel. Essi non hanno nessun effetto sui driver che sono caricati come moduli. La maggior parte delle distribuzioni Linux hanno un kernel di base `nudo' , e i driver sono piccoli moduli che sono caricati dopo l'inizializzazione del kernel. Se non si è sicuri che si stiano usando moduli provare lsmod, guardare man depmod e man modprobe insieme con il contenuto del proprio /etc/modules.conf.

Alla luce di questo, gli argomenti di avvio dei driver di dispositivo sono realmente usati solo da poche persone che compilano i propri kernel, e perciò hanno i sorgenti del kernel alla mano. Queste persone usualmente controllano i sorgenti per le opzioni e le sintassi richieste da quel driver per ottenere le informazioni più aggiornate.

Per esempio, se si stanno cercando quali argomenti dovrebbero essere passati al driver AHA1542 SCSI, allora si dovrebbe andare nella directory linux/drivers/scsi, e cercare nel file aha1542.c __setup(... , ...). La prima cosa tra parentesi è l'argomento che si fornisce all'avvio, e la seconda cosa è il nome della funzione che processa il proprio argomento. Di solito vicino alla cima di questa funzione o all'inizio del file del sorgente si troverà una descrizione degli argomenti di avvio che il driver accetta.

1.2 Documentazione Relativa

Per adesso, i sorgenti del kernel hanno il file linux/Documentation/kernel-parameters.txt. Questo file contiene una breve lista di tutti gli argomenti di avvio che si possono fornire, insieme a veloci link al posto dove, tra i sorgenti, si possa trovare dove sono analizzati gli argomenti. L'idea è che questo file dia agli sviluppatori un posto veloce e facile per aggiungere una breve descrizione di ogni nuovo argomento che essi aggiungono lavorando ai sorgenti. Così che esso probabilmente sarà sempre più aggiornato di questo documento. Attualmente sto consideranto con discontinuità questo documento alla luce dell'esistenza del kernel-parameters.txt. (Opinioni?)

La directory linux si trova di solito in /usr/src/ nella maggior parte delle distribuzioni. Tutti i riferimenti in questo documento a file che vengono forniti col kernel avranno il loro nome del path abbreviato che inizia per linux - si dovrà aggiungere /usr/src/ o quant'altro appropriato per il proprio sistema. Alcune distribuzioni possono non installare i sorgenti completi del kernel di default, e inserire solo la directory linux/include. Se non si trova il file in questione allora installare i sorgenti del kernel e/o e fare uso dei comandi find e locate . Se non si trova il pacchetto dei sorgenti del kernel nella propria distribuzione allora i sorgenti del kernel sono disponibili su:

Kernel Source Home

La succesiva miglior cosa da leggere nei sorgenti C del kernel, sarà qualsiasi altro file di documentazione che viene distribuito con il kernel stesso. Ci sono ora alcuni di questi, e la maggior parte di loro può essere trovata nella directory linux/Documentation e nelle sue sottodirectory. A volte ci sarà il file README.foo che può essere trovato nella relativa directoty driver (es. linux/drivers/???/, dove ci dovrebbero essere esempi di ??? scsi, char, o net). La tendenza generale è di spostare questi file dentro la directory Documentation, così se un file menzionato in questo documento non è più lì probabilmente è stato spostato.

Se si è capito quali argomenti di avvio si intende usare, e ora si vuole sapere come passare l'informazione al kernel, allora guardare la documentazione che è fornita con il software che si usa per avviare il kernel (es.LILO o loadlin). Una breve descrizione è fornita di seguito, ma non è il sostituto della documentazione fornita con il software di avvio.

1.3 Nuove Versioni di questo Documento

Nuove versioni di questo documento possono essere trovate via anonymous FTP nella maggior parte dei siti FTP Linux nella directory /pub/Linux/docs/HOWTO/. Saranno fatti aggiornamenti quando saranno disponibili nuove informazioni e/o driver. Se questa copia che si sta leggendo è più vecchia di sei mesi, allora si dovrebbe probabilmente controllare se ne esiste una più nuova. Suggerirei di vederlo via browser WWW o nel formato Postscript/dvi. Entrambi contengono cross-reference che sono rimaste in una semplice versione formato testo.

Se si vuole avere la copia ufficiale, ecco l'URL.

BootPrompt-HOWTO


Avanti Indietro Indice