next up previous contents index
Next: Ancora sullo shutdown Up: Avvii e shutdown Previous: Introduzione agli avvii e

   
Il processo di boot più da vicino

Si può avviare Linux sia da un floppy che dall'hard disk. La sezione sull'installazione nella guida Installation and Getting Started ([Wel]) vi spiega come installare Linux in modo da poterlo avviare nel modo che volete.

Al boot di un PC, il BIOS fa vari test per controllare che tutto sia a posto,6.2 e poi inizia il vero boot: sceglie un disco (tipicamente il primo floppy, se ce n'è uno inserito, oppure il primo hard disk, se nel computer ce ne è installato uno, ma l'ordine può essere cambiato) e legge il suo primo settore, che si chiama master boot sector (``settore principale di boot''); per un hard disk si chiama anche master boot record, dato che un hard disk può contenere diverse partizioni, ciascuna con il proprio settore di boot.            

Il settore di boot contiene un piccolo programma (abbastanza piccolo da entrare in un singolo settore) la cui responsabilità è di leggere il vero sistema operativo dall'hard disk ed avviarlo. Quando si avvia Linux da un floppy disk, il settore di boot contiene del codice che legge semplicemente le prime centinaia di blocchi (a seconda della reale grandezza del kernel, naturalmente) in un punto predeterminato della memoria. Su un floppy di boot di Linux non c'è un filesystem, ma il kernel è semplicemente immagazzinato in settori consecutivi, dato che questo semplifica il processo di boot. È possibile, comunque, fare il boot da floppy con un filesystem, usando LILO, il LInux LOader.    

Quando si fa il boot dall'hard disk, il codice nel master boot record esamina la tabella delle partizioni (anch'essa nel master boot record), identifica la partizione attiva (la partizione che è contrassegnata come quella da cui si può fare il boot), legge il settore di boot di quella partizione e poi inizializza il codice che si trova lì. Il codice nel settore di boot di quella partizione fa la stessa cosa che il settore di boot di un dischetto: legge nel kernel della partizione e lo inizializza. I dettagli cambiano, comunque, dato che di solito non è utile avere una partizione separata solo per l'immagine del kernel, quindi il codice nel settore di boot della partizione non può semplicemente leggere il disco in maniera sequenziale, ma deve trovare i settori dove li ha messi il filesystem. Ci sono diversi modi per aggirare il problema, ma il più comune è usare LILO (i dettagli sul suo utilizzo sono irilevanti per questa discussione: vedere la documentazione di LILO per altre informazioni; è molto accurata).          

Quando si fa il boot con LILO, normalmente il computer passa direttamente alla lettura e al caricamento del kernel di default. È anche possibile configurare LILO per poter scegliere il kernel da caricare tra un elenco, o anche per caricare sistemi diversi da Linux, ed è possibile scegliere quale kernel o sistema operativo avviare al momento del boot. LILO può essere configurato in modo che se si tiene premuto alt, shift o ctrl al momento del boot (quando si carica LILO), LILO chieda quale sistema avviare, con un tempo massimo configurabile dopo il quale avvia il kernel di default.

Con LILO, è anche possibile dare un argomento da linea di comando per il kernel, dopo il nome del kernel o del sistema operativo. META: Esistono altri boot loader oltre a LILO. Nelle versioni future verranno aggiunte informazioni su questo argomento. loadlin.

Sia il boot da floppy che quello da hard disk hanno i loro vantaggi, ma in genere fare il boot da hard disk è più comodo, dato che evita la noia di dover maneggiare i floppy. È anche più veloce; comunque, configurare il sistema in modo che faccia il boot da disco fisso può essere più problematico, quindi molti prima installano il sistema in modo che faccia il boot dal floppy, e poi, quando il sistema è installato e funzionante, installano LILO e cominciano a fare il boot dall'hard disk.

Dopo che il kernel di Linux è stato caricato in memoria, in qualsiasi modo questo accada, ed è stato avviato, succede più o meno questo:


next up previous contents index
Next: Ancora sullo shutdown Up: Avvii e shutdown Previous: Introduzione agli avvii e
root
1998-11-08