CDROM-edicola - Copertina - KDE |
Articoli
Linux su UltraSparc
Provare Linux su macchine diverse dai soliti Intel è sempre emozionante. Specie quando ti capita per le mani una vera ``bestia'' di calcolatore.
Ho trovato un amico che sta facendo il ricercatore al CNR in Francia, e che si è trovato per le mani una Sparc Ultra 1, che nessun altro usava e/o gestiva. Sopra, ovviamente (o quasi) c'era installato Solaris, però ha sentito da subito la mancanza del Linux che era abituato ad usare all'università in Italia.
Appena ha avuto l'occasione di tornare in Italia per un paio di
settimane, però, mi ha rintracciato chiedendomi di sistemargli la Sparc
configurandogli a puntino Solaris (installando make
,
gcc
e configurandolo con l'ls
a colori e altre
``raffinatezze'') oppure installandoci sopra Linux. Avevo a disposizione
tutte le scartoffie e i CD col Solaris (ma in francese), mentre per Linux
non avevo altro che le risorse disponibili in rete. La fortuna è stata che
trattandosi della settimana di Pasqua, con nessuno o quasi al dipartimento
universitario, ho potuto portare a casa la Sparc per lavorarci con comodo.
Qui viene il bello, visto che di Sparc so solo che sono belle, che sopra
non ci gira ancora Windows (per fortuna), che esiste la combinazione di
tasti [stop][a]
per i comandi ``speciali'', e che una volta
installato Linux, usarlo è praticamente identico ad un Intel.
Con queste conoscenze, mi porto a casa la Sparc, insieme anche ad un Gb di software scaricato dalla rete, appunto per provare Linux. Il software che ho scaricato consiste in:
Da prove che ho effettuato (con cmp
), quasi tutti i
pacchetti .rpm
della UltraPenguin sono identici ai
corrispondenti RedHat, e a quanto pare la distribuzione UltraPenguin
contiene solo il kernel Linux adattato per le macchine Ultra (64 bit) e
alcuni piccoli ritocchi qua e là rispetto alla RedHat.
La documentazione è scarsetta, ma provo subito a creare i floppy di avvio. Non ne va manco uno, né quelli di RedHat, né quelli di UltraPenguin, né quelli di Debian. Non mi resta che provare via rete.
C'è da dire che la prova più ovvia da fare è usando UltraPenguin, essendo questa specifica per la macchina che mi ritrovo. Ma a quanto pare tutti credono che la gente sappia come far fare il boot via rete ad una Sparc. Le istruzioni (semplici, peraltro) le ho trovate in un file di testo in mezzo ai dischi di avvio della Debian Sparc.
Quando si dà il comando ``boot net
'' al prompt della
Sparc, questa manda in rete un messaggio RARP per chiedere qual è
il suo indirizzo IP, poi tramite tftp scarica un'immagine
contenente kernel e filesystem di base. Basta quindi avere un'altra macchina
Linux in rete (anche Intel) e le cose diventano di una semplicità
immane.
Basta quindi un comando ``rarp
'' seguito da un comando
``arp
'' con i parametri identici (il primo l'IP da assegnare,
il secondo l'indirizzo hardware della ethernet della Sparc, quest'ultimo è
mostrato all'accensione della macchina). Per fare ciò è necessario che il
kernel sia stato compilato con l'opzione RARPD abilitata, cosa che
normalmente succede. Inoltre serve anche una rete ben configurata (ovvio), e
scegliere il corretto IP da assegnare alla sparc.
Anche la seconda fase, tftp, si supera con facilità. Basta
assicurarsi che in /etc/inetd.conf
sia abilitata la riga
relativa a in.tftpd
e verificare in quale directory del
filesystem vengono cercate le immagini da mandare in base alle richieste
ricevute. Nel mio caso, la directory usata da in.tftpd
è
/boot
.
Qui occorre copiare il file immagine per il boot via rete della Sparc,
chiamandolo con l'IP assegnato alla Sparc scritto in esadecimale (8
caratteri). Per chi non ha tempo di star lì a convertire in esadecimale
l'IP, è sufficiente dare il comando ``boot net
'' alla
Sparc, e vedere nei log della macchina che fa da server quale file viene
chiesto a in.ftpd
. In questo modo basta un link simbolico tra
il file immagine e il file chiesto a in.tftpd
, e si ha anche la
conferma che RARP è perfettamente configurato.
Adesso, quindi, se si usa l'immagine giusta, si può installare Linux
sulla Sparc. Quella che ha funzionato, l'ho trovata nella directory
updates
della distribuzione UltraPenguin. Questa immagine viene
caricata dalla Sparc, viene decompresso il kernel, e poi lo schermo diventa
nero. Ma non solo, in alto a sinistra appare un pinguino molto simile al
logo di Linux, e lo schermo si riempie di piccole scritte molto simili a
quelle che appaiono al boot di Linux su Intel. Sì, in effetti nella Sparc
sta girando Linux. Dopo una decina di secondi (inizializzazione scsi e altre
periferiche) parte la schermata di installazione di Linux! :-)
Da qui in avanti si tratta di installare una RedHat, quindi non entro nei
dettagli. Un accorgimento durante il partizionamento è tenere la 3a
partizione (/dev/sda3
) grande come l'intero disco, poi il resto
si svolge come su macchine Intel (compresi i numeri da assegnare alle
partizioni Linux e Linux Swap).
Un errore che ho avuto è il boot successivo all'installazione. RedHat (su
cui è basata quasi completamente UltraPenguin) non installa lo stesso kernel
usato per l'installazione, e quello installato automaticamente non funziona.
Occorre quindi prima del riavvio prendere l'immagine del kernel
(vmlinux.gz
) che si trova nell'area degli aggiornamenti
(updates
) e copiarla sopra il kernel installato da RedHat. La
versione che ho usato e che era presente nella distribuzione è la
2.1.85.
Successivamente il funzionamento della macchina è stato splendido, o
almeno superiore alle aspettative: il kernel reggeva alla grande l'hardware
sottostante, nessun messaggio di errore di memoria o disco. Console virtuali
funzionanti, ls
colorato, e quasi tutte le cose tipiche di una
distribuzione Linux su Intel. Purtroppo alcuni programmi non funzionano,
tipo passwd
, X
e ssh
, quest'ultimo ho
tentato di compilarlo.
Per passwd
non c'è stato verso di farlo funzionare, a quanto
pare il kernel per Sparc non ha ancora un buon sistema di lock dei file (o
almeno il punto problematico di passwd
era bloccare
/etc/passwd
). L'ho risolto con uno script /bin/sh
che fa quasi l'equivalente di passwd
.
Per X
è bastato installare il pacchetto aggiornato,
distribuito con UltraPenguin. Ho rinunciato a ssh
per mancanza
di tempo: la Sparc doveva tornare in patria.
Le altre distribuzioni non le ho provate. RedHat non ne valeva la pena, essendo UltraPenguin già una RedHat ottimizzata per Sparc Ultra. Debian, invece, non aveva dischetti funzionanti per la macchina che avevo per le mani, e neppure immagini per l'avvio da rete.
Linux per Processori SPARC
UltraPenguin 1.0
CDROM-edicola - Copertina - KDE |