[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]


10. Caricamento del sistema operativo

Il caricamento di un sistema operativo avviene perché, all'atto dell'accensione di un elaboratore, il firmware (il BIOS degli elaboratori i386) si occupa di leggere ed eseguire un piccolo programma residente all'inizio del disco fisso o di un dischetto. Negli elaboratori i386 questa parte iniziale del disco fisso è l'MBR, o il Master Boot Record, ed è costituita da un solo settore. Quando si fa riferimento a un dischetto, si parla di settore di avvio o di boot. Questo piccolo programma iniziale si occupa a sua volta di avviare il kernel.

Nei sistemi con architettura i386 esistono almeno quattro modi per effettuare il caricamento di GNU/Linux: un dischetto di avvio, LILO, Loadlin e SYSLINUX.

10.1 Kernel in un dischetto

Dal punto di vista tecnico, il modo più semplice di avviare GNU/Linux è quello di creare un disco di avvio contenente solo il kernel. Nell'esempio seguente si copia il kernel `vmlinuz' nel dischetto contenuto della prima unità. *1*

cp vmlinuz /dev/fd0

La copia fatta in questo modo non è la copia di un file in un dischetto che contiene un filesystem: il dischetto diventa il file stesso, e questo tipo di dischetto non può contenere più di un file. Questo particolare è molto importante e deve essere compreso necessariamente.

Il file del kernel Linux è qualcosa di molto raffinato: contiene il codice necessario per autoavviarsi dopo essersi decompresso. Infatti, la parte più consistente del kernel viene compressa alla fine del procedimento di compilazione. Naturalmente, il kernel non ha sempre la necessità di autoavviarsi, ma questa possibilità è importante per facilitare ancora di più l'avvio del sistema.

Il kernel è così in grado di avviarsi da solo, ma può non essere stato predisposto per utilizzare esattamente il filesystem principale desiderato, così come altri elementi predefiniti potrebbero non corrispondere alla realtà. Si utilizza il programma `rdev' per alterare questi elementi direttamente nel file del kernel o nell'immagine copiata nel dischetto.

10.1.1 # rdev

rdev [<opzioni>] [<immagine> [<altre-opzioni>]]

Legge o imposta i parametri di un'immagine di un kernel. L'immagine in questione può essere indicata come un nome di file, o un nome di dispositivo (tipicamente `/dev/fd0').

Scomposizione della sintassi in base ad alcune opzioni

rdev <immagine>

Visualizza il nome di dispositivo corrispondente al filesystem principale (root) indicato attualmente nell'immagine. Si tratta di visualizzare il nome della partizione che verrà utilizzata per montare la directory radice del filesystem.

rdev <immagine> <dispositivo>

Specifica un nuovo nome di dispositivo da utilizzare come partizione da montare nella directory radice.

rdev -R <immagine> 1

Indica di attivare inizialmente in sola lettura il dispositivo da montare nella directory radice.

rdev -R <immagine> 0

Indica di attivare inizialmente in lettura e scrittura il dispositivo da montare nella directory radice.

rdev -s <immagine> <dispositivo>

Indica di utilizzare il dispositivo indicato come area di scambio per la memoria virtuale (swap).

Esempi

rdev /dev/fd0 /dev/hdb1

Configura l'immagine contenuta nel dischetto inserito nella prima unità, definendo che la partizione da montare nella directory radice è la prima del secondo disco fisso.

rdev -R /dev/fd0 1

Definisce che al momento dell'avvio del kernel la partizione principale sia montata in sola lettura in modo che il filesystem possa essere controllato.

10.2 LILO

LILO è la procedura standard per il caricamento di GNU/Linux negli elaboratori con architettura i386. Permette di avviare anche altri sistemi operativi eventualmente residenti nello stesso elaboratore in cui si usa GNU/Linux. In questa sezione si vedono solo alcuni aspetti del suo funzionamento, quelli che dovrebbero bastare nella maggior parte delle situazioni. Per un approfondimento sul suo funzionamento conviene consultare la documentazione che accompagna questa procedura: la pagina di manuale lilo(8), quanto contenuto nella directory `/usr/doc/lilo*/' e il BootPrompt HOWTO.

10.2.1 Organizzazione essenziale

La procedura LILO è composta essenzialmente da:

La directory `/boot/' contiene i file utilizzati per effettuare l'avvio del sistema: sia per avviare GNU/Linux che gli altri eventuali sistemi operativi. Può contenere anche il file del kernel, o più file di kernel differenti, quando per questo non si usa semplicemente la directory radice. Più precisamente, contiene almeno i file seguenti:

Nella tabella 10.1 sono elencati i codici esadecimali corrispondenti ad alcuni dispositivi per le unità di memorizzazione.

Dispositivo Codice
/dev/fd0 200
/dev/fd1 201
/dev/hda 300
/dev/hda1 301
/dev/hda2 302
/dev/hdb 340
/dev/hdb1 341
/dev/hdb2 342
/dev/sda 800
/dev/sda1 801
/dev/sda2 802
/dev/sdb 800
/dev/sdb1 801
/dev/sdb2 802

Tabella 10.1: Elenco dei codici esadecimali dei dispositivi di alcune unità di memorizzazione.

10.2.2 1024 cilindri

Quando si utilizza l'architettura i386, il firmware, cioè il BIOS, solitamente non è in grado di accedere a settori oltre il 1024-esimo cilindro (cioè oltre il cilindro numero 1023). Di conseguenza, il programma che si occupa di caricare il kernel di qualunque sistema operativo, si deve avvalere delle funzioni del BIOS (perché inizialmente non c'è ancora un sistema operativo funzionante) e quindi non può raggiungere file oltre quel limite dei 1024 cilindri.

La directory `/boot/' con tutto il suo contenuto, e il kernel, devono trovarsi fisicamente entro il 1024-esimo cilindro. Non basta che la partizione inizi prima di quel limite per garantire che questi file si trovino effettivamente in quella zona. In caso di necessità, si può utilizzare una partizione apposita per questi file, nella parte sicura del disco. È poi sufficiente montare questa partizione nel filesystem generale, eventualmente riproducendo la directory `/boot/' attraverso un semplice collegamento simbolico.

10.2.3 Installazione del meccanismo di caricamento del sistema operativo

L'installazione del meccanismo di caricamento del sistema operativo avviene modificando il contenuto di uno di questi settori:

Nel primo caso, LILO ha il controllo su tutti i sistemi operativi per il loro caricamento; nel secondo, LILO dipende da un sistema di avviamento di un altro sistema operativo che, a sua volta, passa a LILO il controllo quando ciò viene richiesto; nel terzo caso si utilizza un dischetto in modo da non alterare il sistema di avvio già presente.

L'installazione avviene per mezzo dell'eseguibile `lilo', che a sua volta si basa sulla configurazione stabilita attraverso `/etc/lilo.conf'. Ogni volta che si cambia qualcosa all'interno della directory `/boot/', o si modifica, o si sposta il file del kernel, è necessario ripetere l'installazione attraverso l'eseguibile `lilo'.

10.2.4 /etc/lilo.conf

`/etc/lilo.conf' è il file di configurazione utilizzato da LILO per installare il sistema di avvio. Si tratta di una sorta di script contenente solo assegnamenti a variabili. Ne viene descritto il funzionamento in modo sommario partendo da un esempio in cui si ha un solo disco fisso, dove la prima partizione è riservata al Dos e la seconda a GNU/Linux. L'esempio permette di avviare GNU/Linux e il Dos selezionando una tra le parole `linux' o `dos' al momento dell'avvio. Il simbolo `#' rappresenta l'inizio di un commento che viene ignorato.

# Prima parte generale
boot=/dev/hda
prompt
timeout=50

# Caricamento di Linux
image=/boot/vmlinuz
    label=linux
    root=/dev/hda2
    read-only

# Caricamento del Dos
other=/dev/hda1
    label=dos
    table=/dev/hda

Segue la descrizione delle direttive che appaiono nell'esempio.

Volendo, è possibile avviare lo stesso filesystem con kernel differenti a seconda delle necessità. In tal caso si possono aggiungere al file `/etc/lilo.conf' altri blocchetti come quello seguente:

# Caricamento di Linux con un kernel sperimentale
image=/boot/vmlinuz-prova
    label=prova
    root=/dev/hda2
    read-only

Se si vuole la possibilità di utilizzare come filesystem principale una partizione diversa da quella normale, magari per fare delle prove, o per qualunque altro motivo, si può indicare una voce alternativa come quando si vuole avviare con diversi kernel possibili.

# Caricamento di una partizione alternativa in un disco SCSI
image=/boot/vmlinuz
    label=extra
    root=/dev/sda3
    read-only

Quello che conta è comprendere che il sistema di avvio resta nella directory `/boot/', e senza il disco che la contiene, i filesystem in `/dev/hda2' o `/dev/sda3' non possono essere montati. Inoltre, senza `/dev/hda' (in questi esempi), non si avvierebbe alcunché. Per comprendere meglio il problema, si pensi a questo esempio:

In questo modo, se si esegue `lilo', viene creato un settore di avvio nell'MBR di `/dev/hda' che fa riferimento ai file di avvio (kernel incluso) contenuti nel dischetto. Cioè, senza quel dischetto (proprio quello), il sistema non potrebbe avviarsi. Questo problema viene rivisto più avanti dove viene spiegato come costruire un dischetto contenente sia un settore di avvio che il kernel e i file di LILO.

Alle volte è necessario informare il kernel di qualche particolarità dell'hardware installato. In tal caso si utilizza la variabile `append' alla quale si assegna la stringa necessaria. Nell'esempio seguente si invia la stringa `cdu31a=0x340,0' necessaria per poter attivare un vecchio lettore CD-ROM Sony.

# Caricamento di Linux con l'attivazione del CD-ROM
image=/boot/vmlinuz
    label=sony
    root=/dev/hda2
    append="cdu31a=0x340,0"
    read-only

10.2.5 # lilo

lilo [<opzioni>]

L'eseguibile `lilo' permette di installare il sistema di avvio basato sulla procedura LILO. Per farlo, legge il contenuto del file `/etc/lilo.conf' o di quello indicato attraverso l'opzione `-C'.

Alcune opzioni

-C <file-di-configurazione>

Permette di indicare un file di configurazione differente rispetto al solito `/etc/lilo.conf'.

-r <directory-di-partenza>

Permette di definire una pseudo directory radice in modo da poter utilizzare quanto contenuto in un dischetto o in un altro disco montato da qualche parte.

Esempi

lilo -C ./mia.conf

Installa il sistema di avvio utilizzando la configurazione del file `mia.conf' contenuto nella directory corrente.

lilo -r /mnt/floppy

Utilizza la configurazione del file `/mnt/floppy/etc/lilo.conf', facendo riferimento (probabilmente) ai file contenuti in `/mnt/floppy/boot/', utilizzando i file di dispositivo in `/mnt/floppy/dev/'.

10.2.6 LILO su un disco differente

LILO parte dal presupposto che si stia operando sempre all'interno del filesystem attivo nel momento in cui si avvia l'eseguibile `lilo'. Si potrebbe pensare che per fare in modo di sistemare l'avvio su un altro disco, come un dischetto o un'altra unità rimovibile, si debba agire semplicemente sulla direttiva `boot=<dispositivo>'; ma questo non basta. Si deve utilizzare l'opzione `-r' per fare riferimento a una pseudo directory radice, a partire dalla quale LILO deve trovare tutto quello che gli serve, compreso il file di configurazione.

Di seguito viene mostrato l'esempio della preparazione di un dischetto contenente il kernel avviato da LILO, in modo completamente indipendente dal filesystem attivo nel momento in cui lo si realizza, con una configurazione simile a quella mostrata in precedenza, nella sezione 10.2.4.

  1. All'interno di un dischetto inizializzato e contenente un filesystem Second-extended si riproduce tutto quello che serve a LILO per definire il sistema di avvio. Si tratta della directory `boot/' contenente gli stessi file della stessa directory appartenente al filesystem generale, insieme al kernel; della directory `etc/' con il file `lilo.conf'; della directory `dev/' con i file di dispositivo corrispondenti alle unità di memorizzazione cui si fa riferimento. Si suppone di avere montato il dischetto utilizzando la directory `/mnt/floppy/' come punto di innesto.

    fdformat /dev/fd0u1440

    mke2fs /dev/fd0

    mount -t ext2 /dev/fd0 /mnt/floppy

    cp -dpR /boot /mnt/floppy

    mkdir /mnt/floppy/etc

    cp /etc/lilo.conf /mnt/floppy/etc/lilo.conf

    mkdir /mnt/floppy/dev

    cd /mnt/floppy/dev/

    /dev/MAKEDEV fd0 fd1 hda hdb hdc hdd sda sdb sdc sdd

  2. Il file `/mnt/floppy/etc/lilo.conf' viene modificato in modo da fare riferimento al dispositivo `/dev/fd0'.

    boot=/dev/fd0
    

  3. Si utilizza l'eseguibile `lilo' con l'opzione `-r' in modo da fargli usare i file nel dischetto e non quelli contenuti nel filesystem principale.

    lilo -r /mnt/floppy

Il problema può presentarsi anche in modo inverso, quando si avvia il sistema attraverso dischetti di emergenza e si vuole sistemare l'avvio di GNU/Linux attraverso il disco fisso. La partizione principale del disco fisso potrebbe essere montata nel sistema di emergenza, per esempio in corrispondenza della directory `/mnt/', e per il resto non dovrebbe essere necessario preoccuparsi d'altro, a parte la versione di LILO presente nel dischetto, che deve essere compatibile con i file di avvio del disco fisso.

lilo -r /mnt

10.2.7 Boot prompt

Subito dopo la prima fase dell'avvio del sistema, quella gestita da LILO, prima dell'avvio vero e proprio del kernel, in presenza di determinate condizioni viene visualizzato un invito particolare a inserire delle opzioni: il boot prompt. Questo appare:

Il boot prompt, ovvero l'invito dell'avvio, ha l'aspetto seguente:

boot:

Normalmente si utilizza la riga di comando di avvio per indicare il nome di una configurazione particolare. In altri casi è il mezzo per specificare un'opzione che per qualche motivo non è attiva automaticamente e si vuole che LILO la passi al kernel.

La digitazione all'interno di questa riga di comando è abbastanza intuitiva: per cancellare si possono usare i tasti [Backspace], [Canc] e le combinazioni [Ctrl+u] e [Ctrl-x]. Eventualmente, si può ottenere un elenco delle configurazioni, riferite a diverse voci del file `/etc/lilo.conf', attraverso la pressione del tasto [Tab]. Si conferma con il tasto [Invio]. Il vero problema è la tastiera: si deve considerare che la disposizione dei tasti è quella statunitense.

La sintassi di quanto si può inserire attraverso la riga di comando è la seguente:

[<configurazione> [<opzione>...]]

Se si preme semplicemente [Invio] viene avviata la configurazione predefinita, altrimenti è obbligatorio l'inserimento del nome di questa, seguita eventualmente da altre opzioni.

I vari argomenti inseriti attraverso la riga di comando (il nome della configurazione e le altre opzioni eventuali) sono separati tra loro attraverso uno spazio. Per questo, un argomento non può contenere spazi.

Nella sezione 10.5 vengono descritti alcuni tipi di parametri che possono essere inseriti in una riga di comando di avvio. Per una descrizione più ampia conviene consultare il capitolo 21 ed eventualmente il BootPrompt HOWTO.

10.3 Loadlin

Se si utilizza ancora il Dos, si può avviare un kernel Linux attraverso il programma Loadlin, quando è in funzione il Dos. Loadlin è quindi un programma Dos, e come tale deve poter raggiungere il file del kernel all'interno di una partizione Dos.

Per conoscere i dettagli sul funzionamento di Loadlin conviene consultare la documentazione allegata al programma.

Prima di poter utilizzare Loadlin occorre almeno avere avviato una volta il sistema GNU/Linux, e ciò per poter trasferire un kernel nella partizione Dos. Se in principio è stato deciso di non utilizzare LILO per l'avvio, l'unica possibiltà per avviare GNU/Linux è data da un dischetto di avvio, magari uno di quelli che contiene solo il kernel.

Attraverso GNU/Linux si deve copiare il programma `LOADLIN.EXE' nel disco Dos e con esso anche il file del kernel. Quindi si può arrestare il sistema nel modo tradizionale e riavviare l'elaboratore facendo in modo di mettere in funzione il sistema operativo Dos.

Una volta riavviato il sistema operativo Dos si dovrebbero trovare i due file copiati poco prima attraverso GNU/Linux: `VMLINUZ' (o qualunque altro nome riferito al file del kernel) e `LOADLIN.EXE'.

10.3.1 Avvio di GNU/Linux

Per avviare in modo semplice il sistema GNU/Linux mentre è in funzione il Dos, dovrebbe bastare il comando seguente. Si suppone che la partizione dedicata a GNU/Linux sia la seconda del primo disco fisso IDE.

C:\> LOADLIN C:\VMLINUZ root=/dev/hda2 ro

In pratica, si dice a `LOADLIN.EXE' di caricare il file del kernel `C:\VMLINUZ' in modo da utilizzare la seconda partizione del primo disco fisso (`/dev/hda2') cominciando con un accesso in sola lettura (in modo da permetterne il controllo prima che il sistema sia messo completamente in funzione).

Prima di avviare `LOADLIN.EXE', vale forse la pena di disattivare gli eventuali sistemi di memoria cache del disco fisso. Se si usa `SMARTDRV.EXE' conviene scaricare la memoria cache nel modo seguente:

C:\> SMARTDRV /C

In generale, la cosa migliore dovrebbe essere l'inserimento della chiamata a `LOADLIN.EXE' all'interno di un sistema di file `AUTOEXEC.BAT' e `CONFIG.SYS' che permetta l'avvio di configurazioni multiple.

10.3.2 Avvio del sistema GNU/Linux su un filesystem UMSDOS

L'utilizzo del programma `LOADLIN.EXE' è il modo più ragionevole di avviare un sistema GNU/Linux installato in un filesystem UMSDOS. Ciò proprio perché un filesystem UMSDOS si trova nella stessa partizione utilizzata per il Dos.

C:\> LOADLIN C:\VMLINUZ root=/dev/hda1 rw

In questo caso, si dice a `LOADLIN.EXE' di caricare il file del kernel `C:\VMLINUZ' in modo da utilizzare la prima partizione del primo disco fisso (`/dev/hda1') cominciando con un accesso sia in lettura che in scrittura.

Con un filesystem UMSDOS non è possibile iniziare in sola lettura perché non c'è un programma in grado di eseguire il controllo e la correzione di questo tipo di filesystem. Di conseguenza, l'unico modo per controllare e correggere eventuali errori in un filesystem UMSDOS è l'uso di programmi Dos quali `CHKDSK.EXE', `SCANDISK.EXE' e simili.

10.4 SYSLINUX

SYSLINUX è un sistema di avvio di GNU/Linux basato fondamentalmente su dischetti con filesystem Dos-FAT. A prima vista può sembrare qualcosa di superfluo, come una sorta di tentativo ulteriore di far convivere Dos e GNU/Linux in un uno stesso disco. In realtà non è così: si tratta di un sistema che facilita notevolmente la realizzazione di dischetti di avvio, e quasi tutte le distribuzioni di GNU/Linux utilizzano dischetti di questo tipo.

SYSLINUX mette a disposizione un programma Dos, `SYSLINUX.EXE', e un programma per GNU/Linux, `syslinux', che predispone un dischetto, inizializzato precedentemente, con un filesystem Dos-FAT in modo che questo possa avviare un kernel Linux. Si procede nel modo seguente per creare un dischetto di avvio nella prima unità a dischetti:

C:\> SYSLINUX A:

oppure

syslinux /dev/fd0

Quello che si ottiene è l'inserimento nel dischetto del programma `LDLINUX.SYS' e la creazione di un settore di avvio opportuno, che si occupa di avviarlo. Il minimo indispensabile per avviare il sistema è l'aggiunta nel dischetto (nella directory radice) di un kernel Linux denominato convenzionalmente `LINUX'. Tuttavia, è conveniente predisporre un file di configurazione, `SYSLINUX.CFG', in modo da poter sfruttare effettivamente i vantaggi di questo sistema di avvio.

Una volta creato il dischetto, il kernel può essere sostituito quanto si vuole, e così anche la configurazione nel file `SYSLINUX.CFG'. Il settore di avvio del dischetto si limita ad avviare il programma `LDLINUX.SYS', il quale provvede poi a leggere la configurazione e ad avviare il kernel.

10.4.1 Configurazione

Il file `SYSLINUX.CFG', che serve alla configurazione di questo sistema di avvio, è un file di testo normale, in cui le righe sono terminate indifferentemente con il carattere <LF> o con la sequenza <CR><LF> (in pratica, si può creare sia utilizzando strumenti Dos che Unix).

Concettualmente assomiglia al file `/etc/lilo.conf', con il vantaggio di non dover essere utilizzato un sistema come LILO per creare un collegamento tra: settore di avvio, configurazione e kernel. Qui tutto viene gestito dal programma `LDLINUX.SYS' che si occupa di leggere la configurazione all'avvio e di agire di conseguenza.

L'esempio seguente mostra le caratteristiche principali di questo file di configurazione. In particolare permette di avviare il kernel contenuto nel file `LINUX', con diversi comandi di avvio.

DEFAULT linux
TIMEOUT 0
DISPLAY INTRO.TXT
PROMPT 1

F1 INTRO.TXT
F2 VARIE.TXT
 
LABEL linux
	KERNEL LINUX

LABEL floppy
	KERNEL LINUX
	APPEND "ramdisk_start=0 load_ramdisk=1 prompt_ramdisk=1"

LABEL hda1
	KERNEL LINUX
	APPEND "root=/dev/hda1 ro"

Segue la descrizione delle direttive che appaiono nell'esempio.

10.4.2 File di aiuto

SYSLINUX ha una caratteristica importante: consente di predisporre diversi file di aiuto selezionabili dall'utente, prima dell'avvio del kernel. Questi file possono essere visualizzati premendo i tasti funzionali, secondo quanto definito all'interno del file di configurazione.

Dal momento che SYSLINUX non visualizza l'elenco dei tasti utilizzabili, è opportuno che uno di questi file sia visualizzato inizialmente, attraverso l'istruzione `DISPLAY', e su questo, come su tutti gli altri, ci sia il riepilogo dei vari tasti che possono essere premuti.

Dischetto di avvio multiuso.

	"linux"  avvia il kernel nel modo predefinito
	"floppy" avvia un dischetto come ramdisk
	"hda1"   avvia il filesystem contenuto nella partizione /dev/hda1

Per ulteriori informazioni si può leggere la guida abbinata al tasto F2.

F1=INTRO  F2=VARIE

10.5 Parametri di avvio

Il kernel non è sempre in grado di individuare da solo tutti i dispositivi fisici installati e a volte si desidera comunque di potergli dare delle istruzioni prima del suo avvio. Si tratta di parametri che gli possono essere passati in vari modi:

Questi parametri, quando sono forniti, vengono indicati tutti insieme, separati tra loro da uno spazio. Ogni parametro non può contenere spazi.

Nella sezione seguente vengono indicati solo alcuni tipi di questi parametri. In particolare, non vengono descritti quelli specifici per i vari tipi di hardware. Il capitolo 21 raccoglie più dettagli sui parametri di avvio.

10.5.1 Opzioni generali di avvio ed esempi

Si tratta di indicazioni date al kernel senza riferimenti a tipi particolari di hardware.

Filesystem principale

root=<dispositivo>

Permette di indicare un dispositivo differente da quello predefinito per montare il filesystem principale.

ro

Permette di definire un accesso iniziale al filesystem principale in sola lettura. Questa è la condizione necessaria per poter eseguire un controllo dell'integrità del filesystem prima di passare alla gestione normale.

rw

Permette di definire un accesso iniziale al filesystem principale in lettura e scrittura.

Memoria

mem=<dimensione>

In caso di necessità, permette di definire la dimensione di memoria RAM che si ha a disposizione effettivamente. Si può indicare un numero esadecimale nella forma 0x..., oppure un numero decimale normale, seguito eventualmente dalla lettera `k', che sta a indicare Kbyte, oppure dalla lettera `M', che sta a indicare Mbyte.

Varie

init=<programma-iniziale>

Permette di definire il nome, completo di percorso, del programma che deve svolgere le funzioni di «processo iniziale» (Init). Il kernel provvede da solo a cercare `/sbin/init', e in alternativa `/etc/init'. Come ultima risorsa tenta di avviare `/bin/sh'. Se per qualunque motivo non funziona il programma Init standard, si può tentare di avviare il sistema facendo partire la shell al suo posto.

reserve=<indirizzo-I/O>,<estensione>[,<indirizzo-I/O>,<estensione>]...

Permette di isolare una o più zone di indirizzi di I/O in modo che il kernel non esegua alcun tentativo di identificazione di componenti in quella zona. Di solito, dopo un'opzione del genere, si inseriscono le dichiarazioni esplicite dei dispositivi che ci sono effettivamente. Il primo valore, quello che esprime l'indirizzo, viene espresso attraverso una notazione esadecimale del tipo consueto (0x...), mentre il secondo è un numero decimale.

Esempi

Come è stato accennato nella sezione 10.5, esistono diversi modi per fornire al kernel delle opzioni di avvio. Questi esempi dovrebbero chiarire le possibilità che ci sono a disposizione.

boot: linux1 root=/dev/hda1 ro

Attraverso la riga di comando di avvio di LILO, oppure di SYSLINUX, si avvia la configurazione identificata dal nome `linux1', si indica la partizione che si vuole montare come filesystem principale e l'accesso iniziale in sola lettura.

C:\> LOADLIN C:\VMLINUZ root=/dev/hda1 ro

Come nell'esempio precedente, ma si avvia il sistema attraverso il programma Loadlin utilizzando il kernel `C:\VMLINUZ'.

append="reserve=0x300,64 ether=11,0x300,eth0 ether=12,0x320,eth1"

Attraverso l'istruzione `append' del file `/etc/lilo.conf' si riserva la zona di indirizzi I/O tra 0x300 e 0x33F e di seguito si specificano due schede di rete Ethernet che utilizzano proprio quella zona di indirizzi.

APPEND "reserve=0x300,64 ether=11,0x300,eth0 ether=12,0x320,eth1"

Si tratta dello stesso esempio mostrato poco sopra, utilizzando però SYSLINUX e mettendo l'istruzione nel file `SYSLINUX.CFG'.

10.6 Riferimenti

---------------------------

Appunti Linux 2000.04.12 --- Copyright © 1997-2000 Daniele Giacomini --  daniele @ pluto.linux.it


1.) Probabilmente, questa possibilità riguarda solo gli elaboratori i386.

2.) Dal momento che in un filesystem Dos-FAT non conta la differenza tra maiuscole e minuscole tra i nomi dei file, in pratica si tratta del file `LINUX'.


[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]