Console firmware su alpha
Il Console firmware
è memorizzato all'interno di una
memoria flash ed è eseguito quando un sistema Alpha viene acceso o
riavviato. Esistono due diverse specifiche per la console dei sistemi
Alpha e quindi ci sono due diverse classi di firmware disponibili:
Console SRM, basata sulla specifica
Alpha Console Subsystem, fornisce un ambiente operativo per i sistemi
operativi OpenVMS, Tru64 UNIX e Linux.
Console ARC, AlphaBIOS o ARCSBIOS, basate sulla
specifica Advanced RISC Computing (ARC), fornisce un ambiente
operativo per Windows NT.
Dal punto di vista dell'utente, la più importante differenza tra
SRM e ARC è che la scelta della console limita i possibili schemi di
partizionamento per il disco dal quale si avvia la macchina.
ARC richiede che si usi una tabella della partizioni MS-DOS (così
come la crea cfdisk) per il disco di avvio. Per questo
motivo le tabelle delle partizioni MS-DOS sono il formato nativo
quando si avvia utilizzando ARC. Difatti, poiché AlphaBIOS
contiene uno strumento per il partizionamento dei dischi, è
possibile partizionare i dischi direttamente dal firmware prima di
installare Linux.
D'altro canto, SRM è incompatibile
In particolare, il formato del settore di avvio richiesto dalla Console
Subsystem Specification non permette la memorizzazione di una tabella
delle partizioni di tipo DOS.
con la tabella delle partizioni in formato MS-DOS. Poiché
Tru64 Unix usa il formato BSD disklabel, questo è quello
nativo
per le installazioni SRM.
GNU/Linux è il solo sistema operativo per Alpha che può essere avviato da
entrambi i tipi di console, purtroppo &debian; &release; può essere avviato
solo da sistemi SRM. Se si possiede un Alpha per cui non esiste una versione
di SRM, se il sistema dovrà essere in dual-boot con Windows-NT oppure se
il dispositivo di avvio richiede una console ARC per l'inizializzazione
del BIOS allora non è possibile usare il sistema di installazione di &debian;
&release;. Si può comunque usare &debian; &release; su questi sistemi usando
un supporto diverso per l'installazione; per esempio si può installare Debian
Woody con MILO e poi fare un aggiornamento.
Poiché MILO non è disponibile per tutti i sistemi Alpha
attualmente in produzioni (al febbraio 2000) e poiché non è più necessario
comprare una licenza OpenVMS o Tru64 per avere il firmware SRM su gli Alpha
più vecchi, si riccomanda l'uso di SRM quando possibile.
La tabella seguente riassume le combinazioni possibili di tipi di
sistema/console (vedere per maggiori
informazioni sui nomi dei tipi di sistema). La parola ARC
denota le console aderenti alla specifica ARC.
Tipo di sistema
Tipo di console supportata
alcor
ARC o SRM
avanti
ARC o SRM
book1
Solo SRM
cabriolet
ARC o SRM
dp264
Solo SRM
eb164
ARC o SRM
eb64p
ARC o SRM
eb66
ARC o SRM
eb66p
ARC o SRM
jensen
Solo SRM
lx164
ARC o SRM
miata
ARC o SRM
mikasa
ARC o SRM
mikasa-p
Solo SRM
nautilus
ARC (vedere il manuale della scheda madre) o SRM
noname
ARC o SRM
noritake
Solo SRM
noritake-p
Solo SRM
pc164
ARC o SRM
rawhide
Solo SRM
ruffian
Solo ARC
sable
Solo SRM
sable-g
Solo SRM
sx164
ARC o SRM
takara
ARC o SRM
xl
Solo ARC
xlt
Solo ARC
Normalmente nessuna di queste console è in grado di avviare Linux
direttamente, quindi è necessario l'utilizzo di un bootloader
intermedio. Con la console SRM si usa aboot, un
bootloader piccolo e indipendente dalla piattaforma. Si consulti
(l'ormai vecchio) SRM HOWTO per
maggiori informazioni su aboot.
I prossimi paragrafi sono presi dal manuale di installazione di woody e
sono stati riportati qui come riferimento; possono risultare utili a
qualcuno almeno fino a quando non saranno nuovamente supportate le
installazioni con MILO.
Normalmente nessuna di queste console è in grado di avviare Linux
direttamente, quindi è necessario l'utilizzo di un bootloader
intermedio. Ci sono due «loader» principali di Linux:
MILO e aboot.
MILO è esso stesso una console che sostituisce ARC o
SRM in memoria. MILO può essere avviato sia da ARC sia
da SRM ed è l'unico modo per avviare Linux sulle console ARC.
MILO dipende dalla piattaforma (cioè esiste un
diverso MILO per ogni tipo di sistema) ed esiste solo
per quei sistemi per i quali è indicato il supporto di ARC nella tabella
precedente. Vedere anche il (purtroppo) datato
MILO HOWTO.
aboot è un piccolo bootloader, indipendente dalla
piattaforma, che può essere eseguito solo da SRM. Vedere anche
il (purtroppo) datato SRM HOWTO per
maggiore informazioni su aboot.
Si presentano quindi tre possibili scenari, a seconda dalla console
firmware presente e della disponibilità di MILO.
SRM -> aboot
SRM -> MILO
ARC -> MILO
Poiché MILO non è disponibile per
nessuno dei sistemi Alpha attualmente in produzione (febbraio 2000)
e poiché non è più necessario acquistare una
licenza OpenVMS o Tru64 Unix per ottenere il firmware SRM per un
vecchio sistema Alpha, si consiglia di utilizzare SRM e aboot
per le nuove installazioni di GNU/Linux a meno che non si debba
fare il dual-boot con Windows NT.
La maggior parte degli AlphaServer e tutti gli attuali server e
workstation contengono i firmware SRM e AlphaBIOS. Per le
macchine half-flash
come le schede per prototipazione, è
possibile passare da uno all'altro semplicemente riscrivendo
il firmware nella memoria flash. Inoltre, una volta installato SRM,
è possibile eseguire ARC/AlphaBIOS da un
dischetto (usando il comandoarc). Per le
ragioni appena elencate si raccomanda il passaggio a SRM
prima di installare &debian;.
Come per le altre architetture si dovrebbe installare l'ultima revisione
del firmware
Con l'eccezione di Jensen, per il quale Linux non è supportato
nelle versioni successive alla 1.7 — vedere
per altre informazioni.
prima di installare &debian;. Per Alpha è possibile ottenere
gli aggiornamenti del firmware da Alpha
Firmware Updates.
Avvio con TFTP
In SRM, le interfacce di rete ethernet sono chiamate con il
prefisso ewa e sono elencate con il comando
show dev, in maniera simile a quanto
mostrato di seguito:
>>> show dev
ewa0.0.0.9.0 EWA0 08-00-2B-86-98-65
ewb0.0.0.11.0 EWB0 08-00-2B-86-98-54
ewc0.0.0.2002.0 EWC0 00-06-2B-01-32-B0
Per prima cosa si deve specificare il protocollo per l'avvio:
>>> set ewa0_protocols bootp
Successivamente si deve verificare che il tipo di supporto sia corretto:
>>> set ewa0_mode modalità
Si può ottenere un elenco delle modalità valide con
>>>set ewa0_mode.
Infine, per avviare dalla prima interfaccia ethernet, si scriverà:
>>> boot ewa0 -flags ""
Questo avvierà utilizzando i parametri predefiniti per il kernel
così come specificati nell'immagine netboot.
Se si vuole utilizzare una console seriale, si deve
passare il parametro console= al kernel.
Questo non può essere fatto con argomenti -flags
al comando boot di SRM. I nomi delle porte
seriali sono gli stessi dei corrispondenti device in
/dev. Inoltre, quando si specificano dei parametri
aggiuntivi del kernel, si devono ripetere alcune delle opzioni predefinite
perché necessarie alle immagini &d-i;. Ad esempio per avviare da
ewa0 e utilizzare una console sulla prima porta
seriale, si scriverà:
>>> boot ewa0 -flags "root=/dev/ram ramdisk_size=16384 console=ttyS0"
Avvio da CD-ROM tramite console SRM
Nei CD d'installazione di &debian; sono incluse alcune opzioni d'avvio
per le console VGA e seriali. Usare
>>> boot xxxx -flags 0
per l'avvio con una console VGA, dove xxxx è
il lettore CD-ROM nella notazione di SRM. Per usare una console seriale
collegata al primo device seriale, usare
>>> boot xxxx -flags 1
oppure, se la console è collegata alla seconda porta seriale, usare
>>> boot xxxx -flags 2
Avvio da CD-ROM tramite la console ARC o AlphaBIOS
Per l'avvio da CD-ROM tramite console ARC si deve trovare il nome
in codice della propria sottoarchitettura (vedere
), poi
scrivere \milo\linload.exe come boot loader e
\milo\subarch (dove
subarch è il nome corretto della
sotto architettura) come OS Path nel menu OS Selection Setup
.
Fanno eccezione le Ruffian: si deve usare \milo\ldmilo.exe
come bootloader.
Avvio da dischetto tramite la console SRM
Al prompt di SRM (>>>), eseguire il comando
seguente:
>>> boot dva0 -flags 0
sostituendo eventualmente dva0 con il nome del device
corretto. Di norma dva0 è il lettore di dischetti;
scrivere
>>> show dev
per vedere la lista dei device (per esempio se si vuole avviare da CD).
Se si sta utilizzando MILO, gli argomenti nella forma
-flags vengono ignorati, quindi si può
semplicemente scrivere boot dva0.
Se tutto funziona correttamente si dovrà vedere prima o poi
l'avvio del kernel Linux.
Se si vuole specificare qualche parametro del kernel durante
l'avvio tramite aboot, usare il seguente
comando:
>>> boot dva0 -file linux.bin.gz -flags "root=/dev/fd0 load_ramdisk=1 argomenti"
(scritto su una sola riga), sostituendo, se necessario, il nome
del device SRM corrente al posto di dva0, il nome
del boot device di linux al posto di fd0 e i
parametri del kernel al posto di argomenti.
Se si vogliono specificare degli argomenti del kernel durante l'avvio
con MILO, si dovrà interrompere l'avvio
una volta che MILO è in esecuzione. Vedere .
Avvio da dischetto tramite la console ARC o AlphaBIOS
Nel menu OS Selection, impostare linload.exe come
boot loader e milo come OS Path. Avviare con tali
impostazioni.
Avvio con MILO
La versione di MILO inclusa nel supporto d'avvio è configurata per procedere
direttamente all'avvio di Linux in maniera automatica. Se fosse necessario
intervenire si deve semplicemente premere la barra spaziatrice durante il
conto alla rovescia.
Se si vuole specificare ogni cosa manualmente (per esempio, per fornire
parametri aggiuntivi), è possibile usare un comando come
il seguente:
MILO> boot fd0:linux.bin.gz root=/dev/fd0 load_ramdisk=1
Se si sta avviando da una sorgente diversa dal dischetto, sostituire
fd0 nell'esempio con il nome appropriato del device
nella notazione di Linux. Il comando help fa un
breve resonconto dell'interfaccia MILO.