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.