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[4] 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 GNU/Linux 5.0 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 GNU/Linux 5.0. Si può comunque usare Debian GNU/Linux 5.0 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 raccomanda l'uso di SRM quando possibile.
La tabella seguente riassume le combinazioni possibili di tipi di sistema/console (vedere Sezione 2.1.2, «CPU, schede madri e video supportate» 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.
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 GNU/Linux.
Come per le altre architetture si dovrebbe installare l'ultima revisione del firmware[5] prima di installare Debian GNU/Linux. Per Alpha è possibile ottenere gli aggiornamenti del firmware da Alpha Firmware Updates.
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 debian-installer
. 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"
Nei CD d'installazione di Debian GNU/Linux 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
[4] 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.
[5] Con l'eccezione di Jensen, per il quale Linux non è supportato nelle versioni successive alla 1.7 — vedere http://www.alphalinux.org/faq/FAQ-9.html per altre informazioni.