[Copertina] [About] [Copertina] [Lettere]

Editoriale



Sparc Linux

Grazie alla disponibilita` del DEI dell'universita' di Padova e in particolar modo del Prof. Bombi, la sezione del gruppo PLUTO di Padova ha avuto modo di provare Linux per Sparc.

Linux, negli ultimi tempi, e` stato al centro di numerosi porting effettuati su diverse architetture, una delle quali e` proprio quello relativo alle macchine prodotte da Sun.

Il porting e` ancora in fase di testing, ma non e` difficile riuscire a vedere bootare linux su una di queste macchine; le macchine attualmente supportate sono le sun4c e le sun4m; ma presto si aggiungeranno anche le Ultra.

Questo e` il resoconto del tentativo, condotto da me, e alcuni altri amici del PLUTO, di installare Linux per Sparc.

Il primo tentativo e` stato fatto su una IPC con disco fisso e floppy disk, 16Mb di RAM.

Prologo: informarsi

Innanzitutto bisogna cercare in giro per WWW e ftp il materiale che ci serve. La home page del progetto e` in canada (http://www.geog.ucb.ca/sparclinux.html), e fornisce direttamente tutto il materiale necessario, o per lo meno, indica dove andarlo a pescare.

Purtroppo l'unico materiale che scarseggia e` la documentazione: povera, contradditoria e mal fatta. Dischi di boot, root, pacchetti vari invece sono presenti in abbondanza, ma sparsi in siti vari, privi di documentazione che ne descrivano l'uso e l'utilita`; ma e` un porting ancora in fase di testing e non si puo` pretendere di piu`.

C'e` anche una mailing list e una parvenza di distribuzione della RedHat. In giro si trova un disco di boot e uno di root, gia` pronti all'uso. Il disco di root contiene pochissima roba; basti pensare che solo l'eseguibile di sh occupa piu` di 400k.

L'inizio fiducioso

Male che vada, usando i due dischi nel modo classico dovremmo riuscire ad avere un prompt e poi potremmo installare i pacchetti a mano (pensiamo noi, poveri illusi). Inseriamo il disco di boot e facciamo bootare la IPC e appare (udite, udite) il prompt del SILO, si del SILO, il LILO per Sparc. La sintassi e` nota e facciamo partire il kernel, che ovviamente e` un 1.3.100, cioe` recente. In due secondi il sistema boota: 35BogoMips, 16Mb di RAM visti, tutti i device riconosciuti alla perfezione (mancava solo che dicesse di che colore e` il tappettino del mouse):


insert root disk

Dopo l'emozione di aver visto buttare linux su sparc, ora lo vogliamo vedere all'azione e inseriamo il disco di root: "crunk, crunk, crunk, roonff....", ma non succede niente. Forse il dischetto e` difettato. Cambia, riprova: niente. Forse e` l'immagine del disco di root ad essere difettata. Cambia, riprova: niente.

In questi casi e` utile usare Ctrl-ScrlBlock per vedere i processi attivi: la sh e` partita ma e` piantata. Rileggiamo chili di documentazione, HOWTO, FAQ e mailing list per cercare di trovare una risposta, ma inutilmente.

Proviamo a chiedere sulla mailing list dedicata al porting su sparc: dopo 5 minuti arriva la risposta: "il disco di root che si trova nei siti ftp non funziona sulle IPC a causa di un baco dell'sh"
Oh miseria, e proprio sulle IPC? Si.

Rinuncia e nuovo tentativo

Beh, ha bootato, e` gia` qualcosa.

Dopo qualche tempo riproviamo su una scassatissima SLC senza floppy ne disco fisso. Il kernel, la macchina, in casi come questo, lo deve prendere con i tftp dalla macchina che esporta anche quella che sara` la directory di root.

Bene, usiamo una macchina linux per fare queste due cose, ma la SLC non riesce a bootare. O meglio, non riesce proprio a prendere il kernel dall'altra macchina. Dopo ricerche varie, scopriamo che se usiamo una macchina Linux i386, dobbiamo patchare il tfptboot per fargli leggere il kernel correttamente. "Basta togliere due righe e ricompilare". Eh? E quali due righe? Gira, leggi, domanda scopri quali due righe togliere. Le togli, ricompili e scopri intanto che c'era gia` il pacchetto pronto in un sito ftp sperduto nella transilvania (ci sono tipi veramente strani che lavorano a questo porting...)

Intanto la directory di root e` preparata usando quella preparata dalla RedHat: questo dovrebbe permettere di installare Rembrandt (la nuova distribuzione della RedHat) cosi` come la si installa su un PC normale.

Il kernel viene caricato via tftp e subito dopo eseguito con successo; il 'mount' di root viene fatto via NFS ma di nuovo la macchina "congela". Ctrl+ScrlLck segnala che e` init il processo piantato. Dopo vane ricerche nella documentazione, mi convinco che e` meglio chiedere nella mailing-list anche se magari e` una FAQ. Dopo 5 minuti, rispondono due persone: un siberiano (insisto che ci sono persone veramente strane che stanno lavorando a questo porting) e niente popo' di meno che Miguel de Icaza, autore del mitico MidNight Commander e uno dei tre moschettieri del porting su SUN.

Entrambi mi dicono che probabilmente la directory /dev e` popolata in modo strano e/o sbagliato. Scopro che i devices si devono creare usando un sparc_dev.tar che si trova in un sito ftp perso in non mi ricordo piu` quale remota zona della terra.

Uso questo pacchetto ma non c'e` niente da fare. Ascolto i piu` disparati consigli, sostituendo init con la bash, o con un script che chiama programmi inesistenti (a qualcuno ha funzionato) etc etc, fino a quando non scopro, per voce di uno degli sviluppatori RedHat, che la Rembrandt non puo` essere installata sulle SLC!
Oh miseria, e proprio sulle SLC? Si.

Allora faccio l'ultimo tentativo suggeritomi dallo stesso Miguel de Icaza. Prendo il pacchetto easy-nfs-root-2.tar.gz che e` una copia dei soliti /bin, /etc, /sbin, /usr, etc che andrebbero in una normale directory di root. Il pacchetto si chiama easy perche' dovrebbe facilitare di molto l'installazione, visto che e` preparato ad hoc con tutto l'occorrente. Non ci sta in un dischetto, ma visto che io sto usando una partizione di un disco fisso, mi va benissimo.

Funziona!

Dopo l'ormai consueto boot, la macchina riesce a fare anche il mount di root e appare il prompt della bash. Meraviglia. ls funziona, cd anche; assieme a cp e rm. Funziona anche rpm. Benissimo, questo mi permettera` di installare (anche se manualmente) i pacchetti delle Rembrandt gia` pronti per SPARC.

Ma proprio in quel momento, per massima sfortuna si pianta la macchina con linux per i386, piantando anche la sun, visto che la directory di root era esportata via NFS proprio dal PC. Ma dico io, sto provando una versione ALPHA del kernel per Sparc e si pianta il kernel stabile del 486?

Dopo l'ennesimo scherzo della fortuna, comunque, ho cominciato ad installare i pacchetti rpm della Rembrandt, popolando la partizione di tutti i programmi che si trovano nelle normali distribuzioni linux.

Molti di questi danno ancora problemi, causando i cosiddetti kernel oops, ma il sistema e` abbastanza usabile:

Non siamo riusciti invece ad installare l'interfaccia grafica usando gli rpm della Rembrandt; forse ricompilando i sorgenti, o magari cercando nei soliti siti ftp, dove so che si possono trovare pacchetti tgz di X11R6 per Linux/SPARC.

Conclusioni

Comunque signori, aldila` delle piccole o grandi disavventure, inevitabili in tentativi come questi, Linux per Sparc e` ormai una realta`. La Rembrandt per Sparc e` quasi pronta, e quando lo sara`, installare linux su una di queste macchine diverra` molto semplice. Anche gli sviluppatori della Debian stanno preparando una versione per Sparc.

Un'altro successo per Linux, che ne conferma le potenzialita` e mette in luce l'ottimo lavoro svolto dagli sviluppatori del kernel, per renderlo facilmente portabile. Interessante sara` vedere l'effetto che avra` lo sviluppo di Linux su Sparc, sul mercato specifico e consolidato di SUN. A tal proposito non so fare prevesioni, come non si azzardano a farle nessuno dei sviluppatori di SparcLinux, ma sono giovane e sapro` aspettare.

di Davide Barbieri


[Copertina] [About] [Copertina] [Lettere]