Configurazione di LILO più in dettaglio (omesso)

LILO è uno dei sistemi di avvio di kernel Linux e di altri sistemi operativi, specifico per gli elaboratori di architettura x86. Il suo file di configurazione è /etc/lilo.conf.

Solitamente, il file di configurazione viene creato in modo predefinito già in fase di installazione, utilizzando opzioni generiche.

Nella sostanza le direttive di configurazione hanno la forma di assegnamenti a variabili, intese come opzioni che hanno un ruolo nella fase di avvio del sistema. A parte il caso delle righe bianche e di quelle vuote, che vengono ignorate, oltre alla possibilità di indicare dei commenti preceduti dal simbolo #, si usa la sintassi seguente:

nome=valore_assegnato
nome="valore_assegnato"
opzione_booleana

In particolare:

Le direttive di configurazione sono organizzate in sezioni: quelle della parte iniziale rappresentano la configurazione generale, mentre le sezioni specificano le particolarità delle voci che si possono selezionare nel momento dell'avvio del sistema operativo.

Tabella u77.1. Organizzazione delle direttive di configurazione di LILO.

Nome direttiva Sezione globale Sezione image Sezione other
backup=file
force-backup=file
boot=file_di_dispositivo
compact
default=riferimento_alla_sezione_predefinita
delay=decimi_di_secondo
fix-table
ignore-table
install=file
keytable=file
map=file
message=file
nowarn
prompt
serial=porta[,velocità[parità[n-bit]]]
timeout=decimi_di_secondo
verbose=n
append=parametri_di_avvio_del_kernel
initrd=file
read-only
read-write
root=file
vga={normal|extended|ask|n}
lock
password=parola_d'ordine
restricted
single-key
label=nome
alias=nome
loader=file
map-drive=codice_virtuale to=codice_reale
table=file_di_dispositivo

Direttive di configurazione globale

Le direttive che appaiono all'inizio del file di configurazione, prima della dichiarazione delle sezioni specifiche, riguardano tutte le sezioni sottostanti. Implicitamente appartengono alla sezione globale che non viene dichiarata espressamente. Nel seguito vengono descritte alcune di queste.

Direttive utilizzabili globalmente e anche nelle sezioni specifiche

Un gruppo di direttive particolari, può essere usato sia in modo particolare, all'interno di sezioni che riguardano le varie voci di avvio, sia in modo globale, prima della dichiarazione di tali sezioni, dove rappresentano l'impostazione predefinita nel caso non vengano utilizzate nuovamente nelle sezioni.

Sezioni delle voci di avvio

Le voci selezionabili all'avvio, sono descritte all'interno di sezioni, che hanno la stesso aspetto delle direttive normali. Si tratta precisamente di queste due direttive:

image=file_immagine_del_kernel_da_avviare
other=file_di_dispositivo

Nel primo caso si fa riferimento a una sezione relativa a una voce di avvio per un kernel Linux; nel secondo si tratta dell'avvio di un altro settore di avvio, presumibilmente di un sistema operativo diverso da GNU/Linux.

Tutte le direttive successive a una di queste due, fino alla dichiarazione di una sezione successiva eventuale, rappresentano impostazioni particolari. In questo ambito, si possono indicare le direttive già descritte in precedenza, tranne quelle di competenza esclusivamente globale, oltre a quelle che vengono descritte qui in particolare.

Esempi

L'esempio seguente può avviare un sistema GNU/Linux in due modi differenti, attraverso il file /boot/vmlinuz e /boot/vmlinuz.1, oppure un altro sistema operativo (in questo caso si tratta di MS-Windows).

La presenza di direttive alias, fa sì che si possano selezionare le voci per nome, potendo così aggiungere anche dei parametri per il kernel, oppure attraverso una sola cifra numerica.

Si può osservare che la voce linux, ovvero 1, richiede l'inserimento di una parola d'ordine nel caso si vogliano inserire dei parametri di avvio; inoltre, nel caso della voce prova, ovvero 2, è impedito l'inserimento di parametri di avvio, attraverso la direttiva lock.

boot=/dev/hda
vga=normal
read-only
prompt
timeout=-1
single-key
message=/boot/message

image=/boot/vmlinuz
  label=linux
  alias=1
  root=/dev/hda4
  initrd=/boot/initrd
  password=segreto
  restricted
image=/boot/vmlinuz.1
  label=prova
  alias=2
  root=/dev/hda4
  initrd=/boot/initrd.1
  lock
other=/dev/hda1
  label=windows
  alias=3
  table=/dev/hda

L'estratto seguente, riguarda un gruppo di direttive relative all'avvio di sistemi operativi diversi da GNU/Linux. In particolare, si osserva il fatto che si tenta di avviare OS/2 dal secondo disco fisso PATA, cercando di imbrogliarlo, facendogli credere di essere sul primo. In quel caso particolare si deve usare anche un file speciale nella direttiva loader.

other = /dev/hda2
  label = dos
  table = /dev/hda
other = /dev/hdb2
  label = os2
  loader = /boot/os2_d.b
  map-drive = 0x80
    to = 0x81
  map-drive = 0x81
    to = 0x80

L'estratto seguente contiene due sezioni other per avviare due partizioni distinte contenenti copie indipendenti del sistema MS-Windows. Si osservi in particolare l'uso della direttiva loader = /boot/chain.b in ogni sezione other.

other = /dev/hda1
  label = Win1
  loader = /boot/chain.b
  table = /dev/hda

other = /dev/hda2
  label = Win2
  loader = /boot/chain.b
  table = /dev/hda

«a2» 2013.11.11 --- Copyright © Daniele Giacomini -- appunti2@gmail.com http://informaticalibera.net