Installare Linux per PPC su una partizione esterna

linux.pngOrmai sono a casa e la situazione inizia a stabilizzarsi, eccovi, quindi, un articolo che avevo iniziato a scrivere prima di partire e che ho finito poco fa.

Uno dei miti più noti circa l'utilizzo di Linux su computer Apple con processori PowerPC riguarda l'impossibilità di eseguire un'installazione su un disco rigido esterno, FireWire o USB che sia.
Secondo tale mito è, in effetti, possibile installarlo su un disco FireWire, ma soltanto ricompilando il kernel e configurandosi manualmente diversi files, ottenendo, per giunta, un sistema poco performante.

Fino a qualche anno fa, in effetti, tale mito era in parte vero, oggi, però, non è più così.:)
La verità è che ormai il kernel supporta senza problemi l'avvio da disco FireWire o USB, l'unico ostacolo è la configurazione del bootloader, il famoso (o, forse, a torto, famigerato) Yaboot, che giace semi abbandonato dal 2004, con la conseguenza di avere parecchi problemi sui sistemi più recenti, specie nella sua parte fatta per girare sotto Linux. Dall'inizio del 2006 lo sviluppo di Yaboot è di nuovo abbastanza attivo, ma una nuova versione non è ancora uscita e ci vorrà comunque un po' di tempo prima che le varie distribuzioni la adottino.
Fatto sta che la versione attuale dell'autoconfiguratore ha seri problemi con i dischi firewire, non riuscendo mai ad effettuarne una corretta configurazione.
Poco male: il bootloader vero e proprio funziona perfettamente, vediamo un po' come ovviare a questo problemino…;)

Personalmente ho utilizzato la versione alternate del CD d'installazione di Ubuntu Linux, reperibile a partire da questa pagina. Ho scelto Ubuntu perché, al momento, è la distribuzione con cui mi trovo meglio e ho preferito l'alternate al Desktop CD perché lo considero più flessibile. Il sistema risultante sarà comunque identico e penso che la cosa sia fattibile anche usando l'altro disco.

Sul mio iBook ho Mac OS X e un'altra installazione di Linux, cosa che, in ogni caso, non influisce minimamente.
In questa guida ho cercato di coprire varie possibilità.

Il disco ha un indirizzo Open Firmware?
La prima cosa da fare, magari prima ancora di installare veramente il sistema, è capire qual'è l'indirizzo Open Firmware del disco su cui si vuole installare Linux.
Un disco ha un indirizzo Open Firmware se è visto direttamente da lui, prima che un sistema operativo venga effettivamente caricato. Se è così sarà possibile avviare realmente un sistema dal disco in questione, in caso contrario bisognerà ricorrere ad un trucchetto…;)

Ci sono almeno due modi facili per capire se un dispositivo ha un indirizzo Open Firmware: da Mac OS X (anche quello avviabile usando il DVD di installazione va benissimo) e dal Desktop Cd di Ubuntu (l'alternate richiederebbe dei passaggi in più). Personalmente consiglio di farlo da Mac OS X.

Aprite utility Disco (posto in /Applicazioni/Utility) e, nella colonna di sinistra, cliccate sul disco in questione, quindi scegliete l'elemento di menu "Archivio>Ottieni Informazioni".
Ora osservate attentamente la finestra d'informazioni che vi si è aperta: se è un disco FireWire quasi sicuramente avrete una voce "Albero dispositivo", se è USB è molto probabile che non ci sia.
Se c'è è tutto molto più comodo, ma anche se non ci fosse non preoccupatevi: Linux è in grado di avviarsi anche da dischi non visibili al firmware del Mac!:)
Nel caso del mio disco esterno è
fw/node@10100500000c53/sbp-2@4008/@0:0
La parte che ci interessa è quella prima dei due punti, quella dopo (in questo caso "0") è semplicemente la partizione selezionata.

Su Linux potete ottenere l'indirizzo Open Firmware di un dispositivo, se presente, tramite il comando
ofpath /dev/dispositivo


La presenza dell'indirizzo Open Firmware permetterà di far rilevare al Mac l'HD di Linux all'avvio tramite la pressione del tasto Opzione, come se fosse una normale installazione di OS X.
La sua assenza, invece, ci obbligherà ad avviare il kernel separatamente, da un dispositivo che ce l'abbia. Una volta avviato, il kernel caricherà un sistema minimo, quindi "monterà" quello vero e inizierà l'avvio vero e proprio.

Configurazione delle partizioni e installazione
Questa parte è completamente a vostra discrezione. Vi consiglio, comunque, di creare una partizione, anche piccolissima (nella mia, al momento, ci sono 172 KB…), inizializzata in formato Mac OS Esteso non Case-sensitive e non Journaled o Mac OS Standard (HFS): tale partizione è indispensabile se volete che il sistema venga visto all'avvio premendo Opzione ed è comoda se il vostro dispositivo non ha un indirizzo Open Firmware, in quanto potrete avere sempre a disposizione i files necessari per avviare il sistema.
Se già avete una partizione formattata in quel modo (o anche Journaled o Case-sensitive: l'unico problema sarà che Linux non ci potrà scrivere, ma non è importantissimo) andrà benissimo: la cosa non influirà sui dati già presenti. Se su tale partizione ci fosse un'installazione Mac OS la questione potrebbe risultare leggermente più complicata, ma non troppo.
Se non vi interessa l'avvio premendo Opzione (o non potete utilizzarlo!) potete anche non fare tale partizione.
Ora avviate dal CD di Linux (ricordo che io ho usato il disco "alternate" di Ubuntu) e continuate a preparare le partizioni da lì.
Se volete fare una partizione di swap fatela, non ci saranno problemi ad usarla, idem per una dedicata ad /home e così via, create, ovviamente, quella di root ma non impostate quella del boot loader (detta, in genere, "NewWorld BootBlock"): la sua creazione in ogni caso fallirebbe. Noi imposteremo il bootloader manualmente.
Una volta preparate le partizioni procedete, l'installer si lamenterà dicendo che non c'è quella del bootloader, ignoratelo, e alla fine vi dirà che non è stato possibile installarlo dicendovi di avviare un kernel dandogli come root il disposivo in questione.
Segnatevi il disposivo (molto probabilmente sarà /dev/sdax, dove "x" è il numero della partizione, ma non è detto), se il vostro HD ha un indirizzo Open Firmware avete finito e potete riavviare in OS X, in caso contrario c'è ancora un passaggio da fare: dovete procurarvi il kernel e il file initrd e spostarli dove potrete accedervi da Mac OS X.
Questi files sono posti in /target/boot, il primo si chiama vmlinux-qualcosa, il secondo initrd.img-qualcosa. Il "qualcosa" cambia a seconda della versione del kernel…
Potete montare una partizione HFS+ col comando
mount -t hfsplus /dev/partizione /punto/di/mount
se essa non è case-sensitive o journaled potrete anche scriverci sopra. Idem per quanto riguarda le partizioni HFS: non complicatevi la vita col comando hmount, passate direttamente -t hfs al normale mount.

È giunto il momento di installare e configurare il bootloader.

Caso 1: avvio col tasto Opzione
Se avete Mac OS X installato non ci saranno particolari problemi: create sull'hd una cartella chiamata linuxloader, copiateci dentro il file "loader" che potete scaricare da qui, quindi il programma yaboot e il suo file di configurazione, yaboot.conf, presenti entrambi sul CD di installazione nella cartella install.
Ora aprite il file yaboot.conf con un editor di testi (TextEdit andrà benissimo) e rimpiazzate tutto con
image=/boot/vmlinux
label=Firewire
device=disco:
partition=10
initrd=/boot/initrd.img
root=/dev/sda10
read-only

image=/boot/vmlinux.old
label=Firewire.old
device=disco:
partition=10
initrd=/boot/initrd.img.old
root=/dev/sda10
read-only
cambiando,se necessario, le voci "partition" (è il numero della partizione che volete avviare) e "root" (metteteci il dispositivo e la partizione che vi ha detto l'installer). La voce "disco" lasciatela proprio così com'è: il file "loader", che verrà avviato prima di Yaboot, creerà un dispositivo virtuale temporaneo (in gergo un alias) chiamato, per l'appunto, "disco".

Ora aprite il terminale e digitate
sudo bless -folder /percorso/di/linuxloader
quindi premete invio e inserite la vostra password quando ve la chiede.
Potete ottenere il percorso esatto della cartella mettendo uno spazio dopo "-folder" e trascinandola sul terminale.

Su OS 9, purtroppo, il comando bless non esiste, quindi bisogna ricorrere ad un trucchetto.;)
Aprite la vostra Cartella Sistema e copiate i files System e Finder nella cartella linuxloader, quindi andate nel pannello di controllo Disco di Avvio e selezionate la cartella "linuloader", che ora dovrebbe essere visibile. A questo punto potete anche tornare a riselezionare la vostra normale Cartella Sistema.
Se, infine, state utilizzando Linux (eventualmente da CD) basterà dare il comando
sudo bless -folder /percorso/di/linuxloader


Al prossimo avvio dovreste essere in grado di avviare Linux tenendo premuto Opzione mentre accendete il computer e selezionando la partizione corrispondente.

Caso 2: avvio senza il tasto opzione
Avete scelto di non creare la partizione HFS? Volete avere soltanto le partizioni di Linux? State avviando da un disco invisibile ad Open Firmware? Allora questa è l'opzione che fa per voi.

Per prima cosa dovete sapere questo: per poter avviare il sistema avrete comunque bisogno di una partizione, magari anche molto piccola, visibile ad Open Firmware, sulla quale verrà installato il bootloader. Questa partizione potrà essere formattata in HFS+, HFS, EXT2/3, UFS e, probabilmente, anche in altri formati. In ogni caso vi consiglio caldamente HFS+ "normale " o HFS. Il bootloader potrà risiedere benissimo sulla stessa partizione di un sistema operativo, sia esso Linux, OS X od OS Classico, ed è possibile configurarlo per avviare un determinato sistema alla pressione di un tasto. Se, però, risiederà sulla stessa partizione di un sistema Apple questo sistema potrebbe risultare poi invisibile avviando col tasto Opzione.
L'intera operazione può essere effettuata da uno qualunque dei tre sistemi operativi, consiglio di eseguire la parte finale direttamente dal prompt di Open Firmware.

Ora create, sulla partizione su cui volete installare il bootloader, una cartella chiamata linuxloader, copiateci dentro il file "loader" che potete scaricare da qui, quindi il programma yaboot e il suo file di configurazione, yaboot.conf, presenti entrambi sul CD di installazione, normalmente nella cartella install.
Create, all'interno di linuxloader, una cartella chiamata kernel e copiateci dentro il kernel e l'initrd che avete recuperato prima. Per comodità vi consiglio di rinominarli in "vmlinux" e initrd.img.

A questo punto aprite il file yaboot.conf con un editor di testi (TextEdit andrà benissimo) e rimpiazzate tutto con
image= linuxloader/kernel/vmlinux
label=usb
initrd= linuxloader/kernel/initrd.img
root=/dev/sda10
read-only
chiaramente dovrete cambiare la voce "root" mettendoci il dispositivo di root che vi ha riportato l'installer.

A questo punto dovreste già esserci, effettuamo una prova avviando da Open Firmware.
Per poter provare il bootloader bisognerà scoprire l'indirizzo Open Firmware della partizione che state utilizzando, come spiegato sopra. Una volta ottenuto l'indirizzo, riavviate il Mac tenendo premuti i tasti Mela, Opzione, "O" ed "F", vi apparirà un breve benvenuto e vi sarà data la possibilità di scrivere dei comandi.
Scrivete
boot disco:partizione,\linuxloader\loader
sostituendo a "disco" l'indirizzo Open Firmware del disco del bootloader e a "partizione" la partizione (ovvero l'ultima parte dell'indirizzo, quella dopo i due punti), quindi premete invio. Ovviamente è richiesta la massima precisione nel digitare: se sbagliate anche soltanto un carattere otterrete soltanto un errore.
Nel mio caso il comando preciso per avviare [lblue]loader dalla seconda partizione del disco interno sarà
boot pci2/ata-6@D/@0:2,\linuxloader\loader

Se siete convinti di aver scritto tutto giusto ma non succede niente potete verificare di stare puntando al disco e alla partizione giusta usando il comando dir.

Per esempio
dir pci2/ata-6@D/@0:2,\linuxloader\
essendo corretto, mi restituirà i vari files contenuti nella cartella "linuxloader".

Se il tutto vi soddisfa potete rendere definitivo il tutto col comando Open firmware
setenv boot-device disco:partizione,\linuxloader\loader

Se avete solo Linux o avete installato il bootloader su una partizione differente da quella di altri sistemi operativi la cosa potrebbe andarvi bene, in quanto essi saranno comunque avviabili usando il tasto opzione (cosa, comunque, un po' lenta…), in caso contrario riavviate in uno dei vostri sistemi e preparatevi a configurare uno script di avvio che vi permetta di scegliere che sistema avviare ogni volta che accendete il Mac.
Tutto sta nel configurare correttamente lo script d'avvio (ovveri il file che io ho chiamato "loader"), qui ce n'è uno già configurato per avviare più sistemi ma, naturalmente, probabilmente dovrete modificarlo in base alla vostra configurazione.
Al momento è configurato per avviare OS X e OS 9 dallo stesso disco su cui è installato, se voi avete questi sistemi operativi su altri dischi dovrete andare alla riga del sistema operativo che volete avviare e sostituire disco:&partition; con il percorso Open Firmware della partizione su cui risiede il sistema in questione.

Per esempio se volessi avviare un'ipotetica copia di OS X risiedente sulla quarta partizione del mio HD cambierei:
bootmacosx " Avvio Mac OS X..." .printf 100 ms load-base release-load-area " disco:&partition;,\System\Library\CoreServices\BootX" $boot ;
con
: bootmacosx " Avvio Mac OS X..." .printf 100 ms load-base release-load-area " /pci@f4000000/ata-6@d/disk@0:2,\System\Library\CoreServices\BootX" $boot ;


Come potete notare OS X ha un bootloader chiamato BootX nella cartella /System/Library/CoreServices, mentre OS 9 si avvia dal file Mac OS ROM posto nella Cartella Sistema.
Open Firmware sostituisce il carattere dello spazio con la dicitura %20, come accade negli URL. Se la vostra Cartella Sistema è inglese, quindi, dovrete modificare "Cartella%20Sistema" in "System%20Folder". In effetti, con questo metodo dovrebbe essere possibile tenere più Cartelle Sistema sulla stessa partizione.

Dopo un tot di secondi che non fate niente lo script avvierà automaticamente OS X. Se volete che avvii un altro OS andate alla linea
" "(0d 0a)" .printf bootmacosx
e cambiate "bootmacosx" con una delle altre possibilità listate poco sopra.

Se sul vostro Mac non avete uno dei sistemi operativi citati nel file potete eliminare la parte relativa. Per esempio per eliminare Mac OS 9 dalla lista cancellate tutte le linee dove compare la parola "bootosclassic", ma occhio a non cancellare la linea che sceglie automaticamente che sistema avviare!

Se avete altri OS li potete aggiungere tranquillamente: aggiungete
: bootquellochevuoi " Avvio Quello che vuoi..." .printf 100 ms load-base release-load-area " disco:partizione,\file\da\avviare" $boot ;
sotto le altre linee simili,
" caratterechevuoi per Quello Che vuoi,"(0d 0a)" .printf
sotto le linee simili (non è indispensabile ma è visivamente più carino) e
ascii caratterechevuoi of " caratterechevuoi "(0d 0a)" .printf bootquellochevuoi endof


Potete provare ad avviare lo script o a renderlo definitivo da Open Firmware come spiegato sopra, altrimenti potete renderlo avviabile direttamente da uno dei sistemi operativi.

Da OS X aprite il Terminale (/Applicazioni/Utility/Terminale), inserite
bless -setOF -folder /percorso/di/linuxloader
(potete ottenere il percorso di "linuxloader" mettendo uno spazio dopo "-folder" e trascnando sulla finestra del Terminale la cartella in questione) e premete invio.

Da OS 9 aprite la cartella "linuxloader", copiateci dentro i files "System" e "Finder" dalla vostra Cartella Sistema, aprite il pannello di controllo Disco di Avvio e selezionatela.

Da Linux inserite in una shell
hattrib -b /percorso/di/linuxloader
e premete invio.
Da questo momento in poi loader verrà caricato automaticamente all'avvio e risulterà anche selezionabile quando si avvia premendo il tasto Opzione.

C'è un solo vero svantaggio in questa soluzione: tutte le volte che il kernel verrà aggiornato dovrete aggiornarlo manualmente sulla partizione del bootloader.

Per qualunque problema scrivete pure qui sotto…;)
Pubblicato Sabato 15 Settembre 2007 - 18:20 (letto 8664 volte)
Comment Commenti (2) Print Stampa

avatarDa: Ric Data: Martedi 07 Settembre 2010 - 12:23

Ottima spiegazione, tuttavia c'è prima da risolvere il problema di compatibilità video!
Ho seguito la procedura per installare Ubuntu 10.04 Desktop su HD FireWire esterno con PowerBook G3 Pismo 400mhz (512Mb Ram).
Sono riuscito ad installare Ubuntu 10.04 tramite dvd, ho riavviato il Mac tenendo premuto alt, è comparso il disco di avvio di Linux (simbolo pinguino e firewire) ma il monitor diventa tutto nero (non si vedono neppure le "paroline bianche" di yaboot) e, aspettando circa due minuti, premendo invio, parte il disco firewire, il monitor presenta macchie prima verdi poi tendenti al bianco sempre più intenso partendo alla parte bassa dx dello schermo e via via avanzando verso il lato alto sx diminuendo di intensità fino a diventare tutto scuro. Si sente il jingle di benvenuto di Ubuntu e il disco firewire che gira il che significa che il sistema operativo è funzionante…
Credo che il problema sia da attribuire al fatto che xorg non riesce a configurarsi secondo le caratteristiche del mio PowerBook (ha una scheda video ATI da 8Mb). Leggendo di qua e di la, ho appreso che bisogna settare xorg.conf tuttavia, questo file non è presente dato che (sempre da quel che ho letto…) le versioni di xorg recenti (l'attuale 7.5) dovrebbero rilevare automaticamente la scheda video quindi è inutile cercare il famoso file xorg.conf perché non c'è! Ho tentato di crearlo in questo modo: ho riavviato il Mac da CD(DVD) con Ubuntu, ho aperto il terminale e ho digitato: "sudo gedit /etc/X11/xorg.conf" e copiando il testo recuperato in rete con le caratteristiche del PowerBook nel gedit, l'ho salvato nella cartella etc/X11 del disco FireWire.
La procedura si è rivelata del tutto inutile.
Come risolvere questo problema che rende, di fatto, incompatibile Ubuntu (ma anche Xubuntu ecc) coi G3 e, da quello che ho letto il giro, anche coi G4???


avatarDa: jackoverfull Data: Martedi 14 Settembre 2010 - 13:18

Si, capitava anche a me sull'iBook G4, almeno utilizzando le ultime versioni di ubuntu che ho provato nel 2008…
Onestamente non ricordo esattamente come avevo risolto, ma mi pare che fosse un problema relativo alla modalità in cui veniva avviato il kernel, indipendente da x11. Prova a passare il parametro d'avvio "nofb" al kernel (basta che lo metti in yaboot.conf, sotto "read-only") e vedi se basta…



Le ultime notizie relative a questo argomento

Read Installare Linux per PPC su una partizione esterna (15/09/2007 - 18:20) letto 8664 volte
Read Linux su partizione HFS+ (seconda parte) (02/05/2007 - 16:06) letto 6763 volte
Read Linux su partizione HFS+ (prima parte) (15/04/2007 - 18:55) letto 9782 volte
Read OpenArena anche su Linux PPC (08/04/2007 - 10:43) letto 5984 volte

Tutte le notizie relative a questo argomento
linux.png

 
Calendario
Data: 18/04/2024
Ora: 23:31
« Aprile 2024 »
Lu Ma Me Gi Ve Sa Do
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
 
Utenti
Persone on-line:
admins 0 amministratori
users 0 utenti
guests 1 ospiti
 
Cerca