Avanti Indietro Indice

3. Argomenti di avvio Generali non specifici di dispositivo

Questi sono argomenti di avvio che non sono relativi a nessuno specifico dispositivo o periferica. Essi sono invece relativi a certi parametri interni del kernel, come la gestione della memoria, gestione del ramdisk, gestione del filesystem di root e altri.

3.1 Opzioni del Filesystem di root

Tutte le seguenti opzioni si riferiscono a come il kernel seleziona e gestisce il filesystem di root.

L'argomento `root='

Questo argomento dice al kernel quale dispositivo deve essere usato come filesystem di root durante l'avvio. L'impostazione di default è il valore del dispositivo di root del sistema sul quale è stato compilato il kernel. Per esempio, se il kernel in questione è stato compilato su un sistema che usava `/dev/hda1' come parizione di root, allora il default del dispositivo di root dovrebbe essere `/dev/hda1'. Per sovrascrivere questo valore di default, e selezionare il secondo floppy drive come dispositivo di root, si dovrebbe usare `root=/dev/fd1'.

Dispositivi di root validi sono ciascuno dei seguenti dispositivi:

(1) da /dev/hdaN a /dev/hddN, che sarebbe la partizione N su disco compatibile ST-506 da `a a d'.

(2) da /dev/sdaN a /dev/sdeN, che sarebbe la partizione N su disco compatibile SCSI da `a a e'.

(3) da /dev/xdaN a /dev/xdbN, che sarebbe la partizione N su disco compatibile XT da `a a b'.

(4) /dev/fdN, che sarebbe il disco floppy drive numero N. Avendo N=0 dovrebbe essere il DOS drive `A:', e N=1 dovrebbe essere `B:'.

(5) /dev/nfs, che non è realmente un dispositivo, ma piuttosto un flag per dire al kernel di prendere il fs di root via rete.

(6) /dev/ram, che è la RAM disk.

È anche accettata la più inopportuna e meno portabile specificazione numerica dei possibili dispositivi di disco di sopra nel formato major/minor. (es. /dev/sda3 è major 8, minor 3, così si potrebbe usare root=0x803 come alternativa.)

Questo è uno dei pochi argomenti di avvio del kernel che ha i propri default memorizzati nell'immagine del kernel, e che può perciò essere alterato con l'utilità rdev .

L'argomento `rootflags='

Questo argomento permette di dare opzioni che si riferiscono al montaggio del filesystem di root proprio come si farebbe col programma mount . Un esempio potrebbe essere dare l'opzione noatime a un fs ext2.

L'argomento `rootfstype='

Questa opzione permette di dare una lista di tipi di fs separati da virgola che saranno provati per il corretto accoppiamento quando si prova a montare il filesystem di root. Questa lista sarà usata al posto di quella interna di default che usualmente inizia con ext2, minix ecc.

L'argomento `ro'

Quando il kernel si avvia, ha bisogno di un filesystem di root per leggerci le cose basilari. Questo è il filesystem di root che viene montato all'avvio. Comunque se il filesystem di root fosse montato con accesso di scrittura, non si potrebbe controllare in modo affidabile l'integrità del filesystem con alcuni file mezzi-scritti in corso. L'opzione `ro' dice al kernel di montare il filesystem di root come `sola lettura' così che ogni programma di controllo della consistenza del filesystem (fsck) possa con sicurezza assumere che non ci sono file mezzi-scritti in corso durante l'esecuzione del controllo. Nessun programma o processo può scrivere su file sul filesystem in questione fino a che sia `ri-montato' con capacità di lettura/scrittura.

Questo è uno dei pochi argomenti di avvio del kernel che ha i suoi default memorizzati nell'immagine del kernel, e che possono perciò essere modificati con l'utilità rdev .

L'argomento `rw'

Questo è l'esatto opposto di quello di sopra, in quanto dice al kernel di montare il filesystem di root in lettura/scrittura. Il default è di montare il filesystem di root in sola lettura. Non eseguire nessun programma tipo 'fsck' su un filesystem che è montato in lettura/scrittura.

Lo stesso valore memorizzato nel file immagine menzionato sopra è usato anche per questo parametro, accessibile via rdev.

L'argomento `nfsroot='

Questo argomento dice al kernel quale macchina, quale directory e quale opzioni NFS usare per il filesystem di root. Notare anche che è richiesto l'argomento root=/dev/nfs . Informazioni detagliate sull'uso di un fs NFS di root sono nel file linux/Documentation/nfsroot.txt.

L'argomento `ip=' o `nfsaddrs='

Se si sta usando NFS come filesystem di root, allora non ci sono programi tipo ifconfig e route presenti fino a che il fs di root non viene montato, e così il kernel deve configurare l'interfaccia di rete direttamente. Questo argomento di avvio imposta i vari indirizzi dell'interfaccia di rete che sono richiesti per comunicare attraverso la rete. Se questo argomento non viene fornito allora il kernel prova a usare RARP e/o BOOTP per reperire questi parametri.

3.2 Opzioni relative alla gestione del RAM Disk

Le seguenti opzioni sono tute relative a come il kernel gestisce il dispositivo disco di RAM, il quale è normalmente usato per l'avvio di macchine durante la fase d'installazione, o per macchine con driver modulari che necessitano di essere installati per accedere al filesystem di root.

L'argomento `ramdisk_start='

Per permettere a un'immagine del kernel di risiedere su un floppy disk insieme con un'immagine compressa di ramdisk, è stato aggiunto il comando `ramdisk_start=<offset>'. Il kernel non può essere incluso nell'immagine compressa del filesystem di ramdisk, perché perché dovrebbe essere memorizzato ad partire dal blocco zero così che il BIOS possa caricare il bootsector e poi il kernel possa avviarsi e funzionare.

Notare: Se si sta usando un'immagine di ramdisk non-compressa, allora il kernel può essere una parte dell'immagine del filesystem che è stato caricato nel ramdisk, e il floppy può essere avviato con LILO, o i due possono essere separati come viene fatto per le immagini compresse.

Se si sta usando un'impostazione a due-dischi boot/root (kernel sul disco 1, immagine di ramdisk sul disco 2) allora il ramdisk dovrebbe iniziare dal blocco zero, e dovrebbe essere usato un offset zero. Dal momento che questo è il valore di default, in realtà non si dovrebbe affatto usare tale comando.

L'argomento `load_ramdisk='

Questo parametro dice al kernel se provare a caricare un'immagine di ramdisk o no. Specificando `load_ramdisk=1' si dirà al kernel di caricare un floppy in ramdisk. Il valore di default è zero, significa che il kernel non dovrebbe provare a caricare un ramdisk.

Vedere il file linux/Documentation/ramdisk.txt per una descrizione completa dei nuovi argomenti di avvio, e come usarli. Viene anche descritto come questi parametri possono essere impostati e memorizzati nell'immagine del kernel via `rdev'.

L'argomento `prompt_ramdisk='

Questo parametro dice al kernel se dare o no un prompt per chiedere di inserire il floppy contenente l'immagine del ramdisk. In una configurazione con singolo floppy l'immagine del ramdisk è sullo stesso floppy del kernel che ha appena terminato il caricamento/avvio, così non occorre un prompt. In questo caso si può usare `prompt_ramdisk=0'. In una configurazione a due floppy, occorrerà dare la possibilità di cambiare disco, perciò si può usare `prompt_ramdisk=1'. Dal momento che questo è il valore di default non occorre in realtà che sia specificato. (Nota storica: Le persone scaltre usavano l'opzione di LILO `vga=ask' per mettere in pausa temporaneamente il processo di avvio e avere la possibilità di cambiare il floppy di boot con quello di root.)

Vedere il file linux/Documentation/ramdisk.txt per una descrizione completa dei nuovi argomenti di avvio, e come usarli. Viene anche descritto come questi parametri possono essere impostati e memorizzati nell'immagine del kernel attraverso `rdev'.

L'argomento `ramdisk_size='

Mentre è vero che il ramdisk cresce dinamicamente come richiesto, c'è un limite superiore per la propria dimensione così che non possa consumare tutta la RAM disponibile e rimanere in difficoltà. Il default è 4096 (cioè 4MB), che dovrebbe essere sufficentemente grande per qualsiasi bisogno. È possibile sovrascrivere il default con una dimensione più grande o più piccola con questo argomento di avvio.

Vedere il file linux/Documentation/ramdisk.txt per una descrizione completa dei nuovi argomenti di avvio, e di come usarli. Viene anche descritto come questi parametri possono essere impostati e memorizzati nell'immagine del kernel attraverso `rdev'.

L'argomento `ramdisk_blocksize='

Questo può essere regolato per una migliore gestione del comportamento della memoria. Citazione dal driver di ramdisk rd.c:

Dovrebbe essere auspicabile avere un soft-blocksize (che nel caso di driver di ramdisk è anche l'hard-blocksize ;) di PAGE_SIZE perché facendo questo si raggiungerà una migliore impronta di memoria. Usando un rd_blocksize di BLOCK_SIZE nel peggiore dei casi renderemo le pagine buffer PAGE_SIZE/BLOCK_SIZE page non liberabili. Invece con un rd_blocksize di PAGE_SIZE si è sicuri che solo una pagina sarà protetta. Dipende dalla dimensione del ramdisk che si vuole per modificare il blocksize di ramdisk per raggiungere il migliore o il peggiore comportamento MM. Il default è ancora BLOCK_SIZE (che occorre a rd_load_image che suppone che il filesystem nell'immagine usi un blocksize BLOCK_SIZE)

L'argomento `ramdisk=' (obsoleto)

(NOTARE: questo argomento è obsoleto, e non dovrebbe essere usato ad eccezione dei kernel v1.3.47 e più vecchi. I comandi che dovrebbero essere usati per il dispositivo di ramdisk sono documentati sopra. Kernel più nuovi possono accettare questo come un alias per ramdisk_size.)

Questo specifica la dimensione in kB del dispositivo di RAM disk. Per esempio, se si vuole avere un filesystem di root su un floppy da 1.44MB che sia caricato su un dispositivo di RAM disk, si dovrebbe usare:


        ramdisk=1440

Questo è uno dei pochi argomenti di avvio del kernel che ha i suoi default memorizzati nell'immagine del kernel, e che possono perciò essere modificati con l'utilità rdev .

L'argomento `noinitrd' (RAM disk iniziale)

I kernel v2.x e successivi hanno una caratteristica dove il filesystem di root può essere inizialmente un RAM disk, e il kernel esegue /linuxrc su quell'imagine RAM. Questa caratteristica è usata tipicamente per permettere il caricamento di moduli che occorrono per montare il reale filesystem di root (es. carica i moduli di driver SCSI memorizzati nell'imagine di RAM disk, e dopo monta il reale filesystem di root su un disco SCSI.)

L'effettvo argomento `noinitrd' determina che cosa accada ai dati initrd dopo che il kernel è stato avviato. Quando specificato, invece di convertirlo in un RAM disk, esso è accessibile via /dev/initrd, il quale può essere letto una volta prima che la RAM sia rilasciata al sistema. Per completi dettagli su come usare il RAM disk iniziale, prego consultare linux/Documentation/initrd.txt. In aggiunta, le più recenti versioni di LILO e LOADLIN dovrebbero avere informazioni utili aggiuntive.

3.3 Argomenti di avvio relativi alla gestione della memoria

I seguenti argomenti alterano come Linux rileva o gestisce la memoria fisica e virtuale del proprio sistema.

L'argomento `cachesize='

Sovrascrive il rilevamento della dimensione della cache di CPU di secondo livello (in kB). A volte bug hardware di CPU fanno valutare la dimensione della cache incorrettamente. Il kernel farà dei tentativi per correggere i problemi conosciuti, ma per alcune CPU non è possibile determinare quale dovrebbe essere la dimensione corretta. Questa opzione fornisce una sovrascrittura per queste situazioni.

L'argomento `mem='

Questo argomento ha diversi scopi: lo scopo origninale era di specificare l'ammontare della memoria installata (o un valore minore di quello se si voleva limitare l'ammontare della memoria disponibile a linux).

Il successivo scopo (e difficilmente usato) è di specificare mem=nopentium il quale dice al kernel Linux di non usare la caratteristica di prestazione della page table di di 4MB. Se si vuole usarlo per entrambi gli scopi, usare un mem= separato per ciascuno.

La chiamata originale del BIOS definita nella specificazione del PC che riporta l'ammontare della memoria installata era progettata solo per essere in grado di riportare fino a 64MB. (sì, un'altra mancata previsione, proprio come il cilindro 1024 del disco... sigh.) Linux usa questa chiamata del BIOS all'avvio per determinare quanta memoria è installata. Una specifica più nuova (e820) permette al BIOS di rilevare questo dato corretamente sulla maggior parte delle macchine di oggi. Se si ha più di 64MB di RAM installata su una vecchia macchina, si può usare questo argomento di avvio per dire a Linux quanta memoria si ha. Ecco una citazione da Linus sull'uso del parametro mem= .

``Il kernel accetterà ogni parametro `mem=xx' gli si fornisca, e se risulta che gli si è mentito, esso terminerà orribilmente prima o poi. Il parametro indica il più alto indirizzo di RAM indirizzabile, così `mem=0x1000000' significa che si hanno 16MB di memoria, per esempio. Per una macchina di 96MB questo dovrebbe essere `mem=0x6000000'. Se si dice a Linux che ha più memoria di quella che ha realmente, accadranno brutte cose: forse non la prima volta, ma prima o poi sicuramente.''

Notare che l'argomento non deve essere in esadecimale, e può essere usato il suffisso `k' e `M' (case insensitive) per specificare kilobyte e Megabyte, rispettivamente. (Un `k' causerà uno spostamento di 10 bit al proprio valore, e una `M' causerà uno spostamento di 20 bit.) Un tipico esempio per una maccina da 128MB dovrebbe essere "mem=128m".

In alcuni casi, anche la memoria riportata attraverso e820 può essere sbagliata, e così è stata aggiunto mem=exactmap . Si usa questo insieme alla specifica di un'esatta mappa di memoria, come:


        mem=exactmap mem=640K@0 mem=1023M@1M

per una macchina da 1GB con l'usuale 384k di spazio I/O mappato per la memoria ISA escluso dall'utilizzo.

L'argomento `memfrac='

La memoria è suddivisa in zone; su gli i386 queste zone corrispondono al `DMA' (per i dispositivi ISA legacy che possono indirizzare solo fino a 16MB via DMA); `Normal' per memorie da 16MB fino a 1GB, e `HighMem' per memorie oltre 1GB (assumendo che il proprio kernel sia compilato con il supporto highmem abilitato). I due (o tre) interi forniti qui determinano quanta memoria dovrebbe essere tenuta libera in ogni zona - con la dimensione della zona divisa per il numero fornito usato come minimo (così più piccoli sono i numeri significa tenerne più libera nella zona). I default sono attualmente memfrac=32,128,128.

L'argomento `swap='

Questo permette all'utente di aggiustare alcuni dei parametri della memoria virtuale (VM) che sono relativi allo swapping su disco. Esso accetta i seguenti otto parametri:


        MAX_PAGE_AGE
        PAGE_ADVANCE
        PAGE_DECLINE
        PAGE_INITIAL_AGE
        AGE_CLUSTER_FRACT
        AGE_CLUSTER_MIN
        PAGEOUT_WEIGHT
        BUFFEROUT_WEIGHT

Agli hacker interessati si consiglia di leggere linux/mm/swap.c e anche di notare le buone cose in /proc/sys/vm. I Kernel sono forniti con della documentazione utile su questo nella directory linux/Documentation/vm/ directory.

L'argomento `buff='

Simile all'argomento `swap=', questo permette all'utente di aggiustare alcuni dei parametri relativi alla gestione del buffer di memoria. Esso accetta i seguenti sei parametri:


        MAX_BUFF_AGE
        BUFF_ADVANCE
        BUFF_DECLINE
        BUFF_INITIAL_AGE
        BUFFEROUT_WEIGHT
        BUFFERMEM_GRACE

Agli hacker interessati si consiglia di leggere linux/mm/swap.c e anche di notare le buone cose in /proc/sys/vm.I Kernel sono forniti con della documentazione utile su questo nella directory linux/Documentation/vm/.

3.4 Altri vari argomenti di avvio del kernel

Questi vari argomenti di avvio permettono all'utente di aggiustare certi parametri interni del kernel.

L'argomento `acpi='

Attualmente questo accetta solo `off' per disabilitare il sottosistema ACPI.

L'argomento `console='

Di solito la console è il primo terminale virtuale, e così i messaggi d'avvio appaiono sul proprio video VGA. A volte è interessante avere la possibilità di usare un'altro dispositivo tipo una porta seriale (o perfino una stampante!) per fargli fare da console quando non è presente alcun dispositivo video. È anche utile catturare i messaggi d'avvio se un problema ferma il loro progredire prima che essi possano essere loggati su disco. Un esempio sarebbe di usare console=ttyS1,9600 per selezionare la seconda porta seriale a 9600 baud per fare da console. Maggiori informazioni possono essere trovate in linux/Documentation/serial-console.txt.

L'argomento `debug'

Il kernel comunica messaggi importanti (e non così importanti) all'operatore attraverso la funzione printk() . Se il messaggio è considerato importante, la funzione printk() metterà una copia sulla console attuale così come la passerà al servizio klogd() così che esso rimanga loggato sul disco. La ragione per stampare i messaggi importanti alla console così come loggarli sul disco è perché sotto sfortunate circostanze (es. un guasto di un disco) il messaggio non verrà riportato su disco e sarà perso.

Il limite per cosa è e cosa non è considerato importante è impostato dalla variabile console_loglevel . Il default è di loggare ogni cosa più importante di DEBUG (livello 7) alla console. (Questi livelli sono definiti nel file include kernel.h) Specificando debug come argomento di avvio imposterà il livello di log della console a 10, così che tutti i messaggi del kernel appariranno sulla console.

Il livello di log della console può anche essere impostato usualmente all'avvio attraverso un'opzione del programma klogd() . Controllare la pagina di manuale per la versione installata sul proprio sistema per vedere come fare ciò.

L'argomento `decnet='

Se si sta usando DECnet, si possono fornire qui due interi separati da virgola per dare rispettivamente la propria area e nodo.

L'argomento `devfs='

Se si sta usando devfs, invece dei dispositivi standard statici in /dev/ allora con questo argomento si possono fornire le parole only o mount. Ci sono anche argomenti aggiuntivi di debug che sono elencati nel sorgente.

L'argomento `gpt'

Se si sta usando la gestione della tabella delle partizioni EFI GUID, si può usare questo per sovrascrivere i problemi associati ad un invalido PMBR.

L'argomento `idle='

Impostando questo a `poll' causa al loop idle nel kernel di verificare l'occorrenza del flag di reschedule invece di aspettare il verificarsi dell'interrupt. Questo può determinare un incremento di performance su sistemi SMP (anche se al costo di un incremento del consumo di energia).

L'argomento `init='

Il kernel per default esegue il programma `init' all'avvio, il quale ha cura di impostare il computer per gli utenti attraverso l'esecuzione di programmi getty, eseguendo gli script `rc' e similari. Il kernel prima cerca /sbin/init, poi /etc/init (deprecato), e per ultimo, proverà a usare /bin/sh (possibilmente su /etc/rc). Se per esempio, il proprio programma init è corrotto e perciò blocca la possibilità dell'avvio, si può semplicemente usare il prompt di avvio init=/bin/sh il quale all'avvio si calerà direttamente in una shell, permettendo la sostituzione del programma corrotto.

L'argomento `isapnp='

Questo prende la forma di: isapnp=read_port,reset,skip_pci_scan,verbose

L'argomento `isapnp_reserve_dma='

Questo prende la forma di: isapnp_reserve_dma=n1,n2,n3,...nN dove n1 ... nN sono i numeri di canale DMA da non usare per il PnP.

L'argomento `isapnp_reserve_io='

Questo prende la forma di: isapnp_reserve_irq=io1,size1,io2,size2,...ioN,sizeN dove ioX,sizeX sono le coppie d'inizio e lunghezza delle regioni I/O nello spazio I/O che non devono essere usate dal PnP.

L'argomento `isapnp_reserve_irq='

Questo prende la forma di: isapnp_reserve_irq=n1,n2,n3,...nN dove n1 ... nN sono i numeri degli interrupt da non usare per il PnP.

L'argomento `isapnp_reserve_mem='

Questo prende la forma di: isapnp_reserve_mem=mem1,size1,mem2,size2,...memN,sizeN dove ioX,sizeX sono le coppie di inizio e lunghezza delle regioni I/O nello spazio di memoria che non devono essere usate dal PnP.

L'argomento `kbd-reset'

Normalmente su macchine basate su i386, il kernel Linux non resetta il controller della tastiera all'avvio, dal momento che si suppone lo faccia il BIOS. Ma come di solito, non tutte le macchine fanno quello che dovrebbero. Fornendo questa opzione può aiutare se si hanno problemi con il comportamento della propria tastiera. Esso semplicemente forza un reset al momento dell'inizializzazione. (Qualcuno sostiene che questo dovrebbe essere il comportamento di default in ogni caso).

L'argomento `lockd.udpport=' e `lockd.tcpport'

Questi dicono al kernel di usare i numeri di porta forniti per l'operazione lockd di NFS (per operazioni o UDP o TCP).

L'argomento `maxcpus='

Il numero fornito con questo argomento limita il numero massimo di CPU attivate in modalità SMP. Usando un valore 0 è equivalente all'opzione nosmp .

L'argomento `mca-pentium'

Le macchine IBM modello 95 Microchannel sembra si blocchino sul test che Linux usualmente fa per rilevare il tipo di accoppiamento del chip matematico. Dal momento che tutti i chip Pentium hanno incluso il processore matematico questo test (e il problema del blocco) può essere evitato usando questa opzione d'avvio.

L'argomento `md='

Se il proprio filesystem di root è su un dispositivo multiplo allora si può usare questo (assumendo che si sia compilato nel supporto d'avvio) per dire al kernel il layout del dispositivo multiplo. Il formato (dal file linux/Documentation/md.txt) è:

md=md_device_num,raid_level,chunk_size_factor,fault_level,dev0,dev1,...,devN

Dove md_device_num è il numero del dispositivo md, es. 0 significa md0, 1 significa md1, ecc. Per raid_level, usare -1 per la modalità lineare e 0 per la modalità striped. Altre modalità non sono attualmente supportate. Il chunk_size_factor è solo per il raid-0 e raid-1 e imposta il chunk size come PAGE_SIZE spostando a sinistra il valore specificato. Il fault_level è solo per il raid-1 e imposta il numero massimo di fault al numero specificato. (Attualmente non supportato a causa della mancanza di supporto all'avvio per il raid1). I dev0-devN sono una lista di dispositivi separati da virgola che compongono il dispositivo md individuale: es. /dev/hda1,/dev/hdc1,/dev/sda1

Vedere anche raid=.

L'argomento `nmi_watchdog='

Fornendo un intero non-zero si abiliterà l'interrupt watchdog non mascherabile (assumendo che il supporto IO APIC sia incluso). Questo verifica se il contatore di interrupt si incrementa (indicando la normale attività del sistema) e in caso contrario assume che un processore sia inceppato e forza un dump d'errore di informazioni diagnostiche.

L'argomento `no387'

Alcuni chip coprocessori i387 hanno bug si evidenziano quando usati in modalità protetta a 32 bit. Per esempio alcuni dei primi chip ULSI-387 causerebbero forti blocchi durante l'esecuzione di calcoli a virgola mobile, apparentemente dovuti a un bug nelle istruzioni FRSAV/FRRESTOR. L'uso dell'argomento di avvio `no387' fa sì che Linux ignori il coprocessore matematico in caso se ne abbia uno. Certamente si deve poi aver compilato il proprio kernel con il supporto all'emulazione matematica! Questo può anche essere utile se si ha una di queste macchine 386 veramente vecchie che possono usare un 80287 FPU, dal momento che Linux non può usare un 80287.

L'argomento `no-hlt'

La famiglia delle CPU i386 (e da ciò i suoi successori) ha un'istruzione `hlt' che dice alla CPU che non deve accadere niente fino a che un dispositivo esterno (tastiera, modem, disco, etc.) invita la CPU a eseguire un task. Questo permette alla CPU di entrare in una modalità a `basso consumo' dove essa si ferma come uno zombie fino a che un dispositivo esterno la sveglia (usualmente attraverso un interrupt). Alcuni dei primi chip i486DX-100 ebbero un problema con l'istruzione `hlt', in quanto essi non potevano ritornare attendibilmente alla modalità operativa dopo che era stata usata questa istruzione. Usando l'istruzione `no-hlt' si dice a Linux di eseguire un loop infinito quando non c'è niente altro da fare, e di non fermare la propria CPU quando non c'è attività. Questo permette alle persone con questi chip guasti di usare Linux, sebbene essi dovrebbero essere ben avvisati di cercare una sostituzione in garanzia dove possibile.

L'argomento `no-scroll'

Usando questo argomento all'avvio disabilita le caratteristiche di scroll che rendono difficile l'uso di terminali Braille.

L'aromento `noapic'

L'uso di questa opzione dice a un kernel SMP di non usare alcune delle caratteristiche avanzate del controller di interrupt su macchine multi processore. L'uso di questa opzione può essere richiesto quando un dispositivo (come quelli che usano i driver ne2k-pci o 3c59xi) ferma la generazione di interrupt (es. cat /proc/interrupts mostra lo stesso contatore di interrupt). Vedere linux/Documentation/IO-APIC.txt per maggiori informazioni.

L'argomento `noht'

Questo disabiliterà l'hyper-threading su processori intel che hanno questa caratteristica.

L'argomento `noisapnp'

Se ISA PnP è compilato nel kernel, questo lo disabiliterà.

L'argomento `nomce'

Alcuni processori più recenti hanno la capacità di auto-monitorare e rilevare le inconsistenze che non dovrebbero normalmente accadere. Se viene rilevata un'inconsistenza, avverrà un "Machine Check Exception" e il sistema sarà fermato (piuttosto che la perdita prosegua e i propri dati vengano corrotti). Si può usare questo argomento per disabilitare questa caratteristica, ma prima assicurarsi di controllare che la propria CPU non sia in surriscaldamento o altrimenti difettosa.

L'argomento `nosmp'

L'uso di questa opzione dirà a un kernel SMP su una macchina SMP di operare in singolo processore. Tipicamente usata solo per il debug e la determinazione se un particolare problema sia relativo al SMP.

L'argomento `noresume'

Se è abilitata la sospensione del software, ed è stata specificata una sospensione su file su disco, usando questo argomento si avrà un avvio normale e la sospensione dei dati sarà ignorata.

L'argomento `notsc'

L'uso di questa opzione dirà al kernel di non usare per niente il Time Stamp Counter, anche se la CPU ne ha uno.

L'argomento `nofxsr"

L'uso di questa opzione dirà al kernel di non usare alcun trucco di accellerazione incluso l'unità a virgola mobile, anche se il processore li supporta.

L'argomento `panic='

Nello sfortunato evento di un kernel panic (es. un errore interno che viene rilevato dal kernel, e che il kernel decide sia serio a sufficenza da urlarlo e poi fermare il tutto), il comportamento di default è solo di fermarsi fino a che qualcuno si faccia avanti, si accorga del "panic message" sullo schermo e riavvii la macchina. Comunque se una macchina è in esecuzione non sorvegliata in un posto isolato può essere desiderabile farla resettare automaticamente così che la macchina ritorni in linea. Per esempio, usando all'avvio panic=30 il kernel dovrebbe provare a riavviarsi da solo 30 secondi dopo l'avvenuta del kernel panic. Un valore di zero dà il comportamento di default, che è di aspettare indefinitamente.

Notare che questo valore di timeout può anche essere letto e impostato attraverso l'interfaccia sysctl sul /proc/sys/kernel/panic.

L'argomento `pirq='

Usando questa opzione si dà a un kernel SMP l'informazione sul valore di IRQ dello slot PCI per le schede madri SMP che non sono conosciute (o conosciute essere in blacklist). Vedere linux/Documentation/IO-APIC.txt per maggiori informazioni.

L'argomento `profile='

Gli sviluppatori del Kernel possono descrivere come e dove il kernel spende i suoi cicli di CPU nello sforzo di massimizzare l'efficenza e la performance. Questa opzione lascia impostare il contatore dello spostamento di profilo all'avvio. Tipicamente è impostato a due. Occorre un tool come readprofile.c che possa fare uso dell'output di /proc/profile

L'argomento `quiet'

Questo è molto grazioso e opposto all'argomento `debug'. Quando questo viene fornito, sono visualizzati alla console solo i messaggi del kernel critici di sistema e quelli importanti. I messaggi normali circa il rilevamento dell'hardware all'avvio sono soppressi.

L'argomento `raid='

Al momento accetta noautodetect . Vedere anche md=.

L'argomento `reboot='

Questa opzione controlla il tipo di reboot che Linux farà quando si resetta il computer (tipicamente attraverso /sbin/init gestendo un Control-Alt-Delete). Il default dei kernel v2.0 è di fare un riavvio a `freddo' (es. un completo reset, il BIOS fa il controllo della memoria, ecc.) invece di un riavvio a `caldo' (es. reset parziale, nessun controllo della memoria). È stato modificato per essere freddo di default dal momento che si tende a lavorare su hardware economico/guasto che fallisce il riavvio quando si richiede un riavvio a caldo. Per avere il vecchio comportamento (es. riavvio a caldo) usare reboot=w o in pratica funzionerà qualsiasi parola che inizia per w.

Le altre opzioni accettate sono `c', `b', `h', e `s', che stanno per cold/freddo, bios, hard, e SMP rispettivamente. L'opzione `s' prende una cifra opzionale per specificare quale CPU dovrebbe gestire il riavvio. Le opzioni possono essere combinate, dove ciò è sensato, es. reboot=b,s2

L'argomento `reserve='

Questo viene usato per proteggere regioni di porte I/O dalla rilevazione. La forma del comando è:

reserve=iobase,extent[,iobase,extent]...

In alcune macchine può essere necessario prevenire che i driver dei dispositivi controllino i dispositivi (auto-rilevamento) in una regione specifica. Questo può essere a causa di hardware mal progettato che causa blocchi all'avvio (così come alcune schede ethernet), hardware che viene identificato erroneamente, hardware il cui stato viene modificato da un primo rilevamento, o solo hardware che non si vuole che il kernel inizializzi.

L'argomento di avvio reserve risolve questo problema con la specifica di una regione di porta I/O che non dovrebbe essere rilevata. Quella regione è riservata nella tabella di registrazione delle porte del kernel come se un dispositivo fosse già stato trovato in quella regione (con il nome reserved). Notare che questo meccanismo non dovrebbe essere necessario sulla maggior parte delle macchine. Dovrebbe essere necessario il suo uso solo quando c'è un problema o un caso speciale.

Le porte I/O nella regione specificata sono protette contro i rilevamenti di dispositivi i quali eseguono un check_region() prima della cieca rilevazione dentro una regione di spazio I/O. Questo è stato inserito per essere usato quando alcuni driver erano sospesi su una NE2000, o mal-identificavano alcuni altri dispositivi come loro propri. Un corretto driver di dispositivo non dovrebbe scandagliare una regione riservata, a meno che un'altro argomento di avvio specifichi esplicitamente di farlo. Questo implica che reserve sarà molto spesso usato con altri argomenti di avvio. Quindi se si specifica una regione riservata per proteggere uno specifico dispositivo si deve generalmente specificare poi una rilevazione esplicita per quel dispositivo. La maggior parte dei driver ignorano la tabella di registrazione delle porte se gli viene fornito un indirizzo esplicito.

Per esempio, la riga di avvio


        reserve=0x300,32  blah=0x300

riserva dalla rilevazione tutti i driver di dispositivo eccetto il driver per `blah' 0x300-0x31f.

Come solito con le specifiche dell'avvio c'è un limite di 11 parametri, perciò si possono specificare solo 5 regioni riservate per chiave reserve. Specifiche multiple di reserve funzioneranno se si ha una insolita e complicata richiesta.

L'argomenyo `resume='

Se si sta usando il software di sospensione, allora questo permetterà di specificare il nome del file dei dati di sospensione su disco che si vuole dal quale la macchina esegua il ripristino.

L'argomento `vga='

Notare che questo non è realmente un argomento di avvio. È un'opzione che viene interpretata da LILO e non dal kernel come lo sono tutti gli altri argomenti di avvio. Comunque il suo uso è divenuto così comune che qui si merita una menzione. Esso può essere impostato attraverso l'uso di rdev -v o equivalentemente vidmode nel file vmlinuz. Questo permette di impostare il codice da usare per il BIOS video per modificare la modalità di display di default prima del reale avvio del kernel Linux. Le modalità tipiche sono 80x50, 132x44 e così via. Il miglior modo per usare questa opzione è di iniziare con vga=ask la quale proporrà una lista di varie modalità che possono essere usate con il proprio adattatore video prima di avviare il kernel. Una volta scelto un numero che si vuole usare dalla lista di sopra, si può inserirlo al posto di `ask'. Per maggiori informazioni, vedere il file linux/Documentation/svga.txt che viene fornito con tutte le recenti versioni del kernel.

Notare che i nuovi kernel (dal v2.1 in poi) hanno il codice di setup che modifica la modalità video come un'opzione, viene elencato come supporto alla selezione della modalità video così che occorre abilitare questa opzione se si desidera usare questa caratteristica\.


Avanti Indietro Indice