11.07.2015 Views

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5.3. LA GESTIONE DELL’AVVIO DEL SISTEMA 207dispositivo da inizializzare (in genere /dev/fd0). Il comando sovrascriverà opportunamente ilsettore iniziale del disco e ci copierà un file LDLINUX.SYS che contiene il programma di avvio.Questo mette a disposizione una riga di comando analoga a quella di LILO (vedi sez.5.3.2), edè controllato dal file di configurazione SYSLINUX.CFG che basta inserire nella radice del floppy.Per i dettagli si può fare riferimento alla pagina di manuale di syslinux al solito accessibile conman syslinux.5.3.2 L’uso di LILOIl primo bootloader creato per <strong>Linux</strong> è stato LILO, da LInux LOader, ed a lungo è stato anchel’unico presente. È un bootloader con una architettura elementare, che si affida al BIOS per lalettura del disco, e pertanto risente di tutti i limiti che questo può avere. Uno di questi problemiè che, a causa delle restrizioni ereditate dai primi PC illustrate in sez. 5.2.1, alcuni BIOS nonsono capaci di leggere i dischi oltre il 1024-simo cilindro.In genere LILO viene installato nell’MBR alla fine della procedura di installazione di unadistribuzione. In generale è possibile, come accennato in precedenza, installarlo all’interno diuna partizione, se si dispone di un altro bootloader in grado di eseguirlo. Una volta eseguito(sia direttamente dal BIOS, che da un altro bootloader) LILO si incarica di trovare l’immaginedel kernel sul disco, (in sostanza in fase di installazione viene memorizzato il settore su cui essasi trova) caricarla in memoria, passare tutti gli eventuali parametri di avvio specificati in fasedi configurazione, e poi eseguirla. 56 Da questo punto in poi il controllo passa al kernel, che siincarica di tutto il resto.La configurazione di LILO è gestita tramite il file /etc/lilo.conf, questo contiene sia leopzioni passate al kernel in fase di avvio, che le direttive che permettono di controllare direttamenteil comportamento del bootloader. Si tenga presente però che, al contrario di quantoavviene in genere per altri file di configurazione, non basta modificarlo perché i cambiamenti diventinoeffettivi al riavvio successivo. Si deve invece far girare il programma lilo che reinstallail bootloader con le nuove opzioni.In genere si ha a che fare con questo file tutte le volte che si vuole usare un nuovo kernel.Infatti per poter lanciare un kernel occorre specificarne la posizione su disco al bootloader inmodo che questo possa caricarlo. La cosa va fatta anche se si è semplicemente sovrascritto unkernel precedente con un altro (e pertanto non si è neanche dovuto modificare /etc/lilo.conf);si ricordi infatti che LILO (il bootloader, quello che sta nell’MBR) conosce solo la posizione fisicadel kernel nel disco, non quella logica nel filesystem; pertanto se si sovrascrive un file non èaffatto detto che la posizione fisica del nuovo file sia la stessa (anzi di norma non lo è affatto)per cui al successivo riavvio senz’altro LILO non potrebbe non essere più in grado di trovare ilkernel, con la conseguente impossibilità di lanciare il sistema.Il formato di /etc/lilo.conf è simile a quello degli altri file di configurazione, le linee vuoteo che iniziano per # vengono ignorate. Le altre linee indicano una opzione o una direttiva. Unesempio di questo file è il seguente:# Support LBA for large hard disks.#lba32# Specifies the boot device. This is where Lilo installs its boot# block. It can be either a partition, or the raw device, in which# case it installs in the MBR, and will overwrite the current MBR.#boot=/dev/hda# Specifies the device that should be mounted as root. (‘/’)#56 qualora lo si sia richiesto, si può caricare in memoria anche l’immagine di un ram-disk, che serve comefilesystem iniziale per il kernel.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!