|
Tutte le distribuzioni Linux recenti sono installabili direttamente
tramite CD-ROM, per cui su una macchina da installare ex-novo è
questo il device da impostare come principale.
Una volta installato Linux, è opportuno scegliere l'hard
disk su cui è stata fatta l'installazione come device principale
di boot.
Alcuni raccomandano di impostare come device principale il floppy
disk, seguito dall'hard disk.
Questo per rendere più rapide le operazioni di ripristino
del sistema (con un floppy di emergenza) in caso di disaster recovery.
Esistono inoltre distribuzioni che presentano un "LIVE CD"
che permette l'esecuzione sul proprio sistema di un Linux completo,
che viene caricato direttamente dal CD-ROM.
In questo caso l'hard disk o la memoria stessa vengono utilizzati
solo per creare file temporanei, ed eventuali dati dell'utente.
Simili Live CD, che ovviamente richiedono l'impostazione del CDROM
come device di boot principale, possono essere utili per operazioni
di disaster recovery e, soprattutto, per provare sulla propria macchina
un Linux senza di fatto doverlo installare sull'Hard Disk.
Durante l'installazione di Linux è solitamente richiesto
se si vuole creare un floppy di ripristino.
Questo permette il caricamento del kernel da floppy in caso di problemi
con il MBR o l'hard disk dove risiede l'installazione.
Una volta caricato il Linux dal floppy di emergenza si possono effetturare
operazioni di manutenzione sul file system e i file, correggendo
un'installazione corrotta.
Ovviamente, è consigliabile avere sempre a disposione un
floppy di emergenza per la propria macchina.
In caso di necessità si può creare un floppy di boot
con il comando (su RedHat):
mkbootdisk --device /dev/fd0 2.4.7-10
In questo caso viene creato su fd0
(il primo floppydrive) un disco con kernel 2.4.7-10 (che ovviamente
deve essere disponibile)
|
|
Il
boot su sistemi Intel-like |
Il processo di boot di una macchina Linux su sistemi x86 Intel
compatibili comporta diverse fasi.
Conoscerle e saperle interpretare è fondamentale per il troubleshooting
di problemi di avvio.
Il boot di un sistema Linux prevede i seguenti stadi:
1- All'accensione il BIOS su ROM non volatile definisce
l'ordine dei device da utilizzare per effettuare il boot.
2- Il BOOT SECTOR del primo device di boot contiene il codice
(o i riferimenti su dove trovarlo) del loader che esegue
il bootstrap del sistema operativo. Nel caso di Linux il più
diffuso loader è LILO, una recente alternativa evoluta
è GRUB.
3- Il loader lancia il caricamento del kernel di Linux, che
si copia in memoria ed esegue i controlli e il riconoscimento dell'hardware
presente.
4- A fine caricamento il kernel esegue il processo init,
padre di tutti i processi, che gestisce il caricamento di tutti
gli altri programmi da eseguire per completare il boot.
Nel dettaglio:
|
IL
ROM BIOS |
Ogni sistema Intel ha sulla motherboard un BIOS su ROM con cui
gestire l'hardware del sistema.
All'avvio di un computer non c'è nulla in RAM e nessun programma
predefinito da caricare.
Le istruzioni su come procedere sono nella memoria non volatile
del BIOS, in cui, fra le impostazioni definibili dall'utente, c'e'
la sequenza dei dispositivi da usare per il boot.
Nei BIOS più recenti è possibile bootare da floppy,
cdrom, hard disk (potendo scegliere se dare precedenza a HD IDE
o SCSI) e altri dispositivi quali Zip o scheda di rete.
Il BIOS cerca, nell'ordine configurato, il boot sector sui
diversi dispositivi di boot previsti.
Gli hard disk hanno un boot sector per ogni partizione e un unico
Master Boot Record (MBR) che è il primo boot sector
dell'intero hard disk. Se si esegue il boot da un hard disk, è
il codice contenuto nel MBR che viene eseguito.
|
I LINUX
LOADER |
Esistono diversi loader che eseguono il bootstrab del sistema operativo
per Linux:
Su sistemi Intel Based: LILO, GRUB, LOADLIN, SYSLINUX, BOOTLIN;
su sistemi Alpha: MILO;
su sistemi Sparc: SILO.
Tutti di fatto eseguono la stessa funzione, alcuni (loadlin e syslinux)
sono programmi DOS che eseguono il kernel caricandolo da una partizione
DOS, altri sono adattamenti di LILO che riguardano sistemi non basati
su processori Intel.
Nella pagina LILO, GRUB e Master Boot Record vengono analizzati
nel dettaglio:
LILO - Il più conosciuto e diffuso
GRUB - Un loader più recente e versatile di LILO in rapida
diffusione.
|
IL
KERNEL |
Il kernel, invocato dal loader, viene caricato in memoria ed inizializza
i vari device driver, visualizzando vari messaggi utili per capire
e conoscere il proprio sistema.
I dettagli sull'avvio del kernel, il riconoscimento e l'inizializzazione
dell'hardware sono riportati nella pagina Kernel Speaks di
questo modulo.
|
INIT
E I SUOI FIGLI |
L'ultima operazione eseguita dal kernel alla fine del suo caricamento
è il lancio del processo init, il padre di tutti i
processi.
Da questo momento tutto il codice eseguito lavora in user space
(in kernel space lavorano solo il kernel e i suoi moduli).
L'init, tramite il suo file di configurazione /etc/inittab,
provvede a lanciare tutti i programmi che completano il processo
di caricamento.
I dettagli nella pagina Init e runlevels.
|
|