Linux su di un iBook

In questo articolo vi raccontero' la mia esperienza di installazione di linux su un iBook di Apple.
Prima di tutto vi chiederete "perche' Apple?". I motivi sono semplici: il mio iBook a 800MHz non ha nulla da invidiare a laptop x86 che girano a piu' del doppio di clock, pesa molto meno e consuma pochissimo. Ora che la batteria e' nuova dura quasi 5 ore in regime di utilizzo normale (ovvero cio' che sto facendo ora, seduto in treno ascoltando mp3 e scrivendo con mozilla). Scovatemi un portatile x86 che a parita' di peso e prezzo faccia questo.
Inoltre, parliamone, e' un sacco piu' fico: ho gia' visto parecchia gente ipnotizzata dalla mela accesa che ho dietro il monitor!
Ho poi deciso di installare Linux perche' OSX non risponde al 100% alle mie esigenze, oltre che per il motivo "etico" del free software.
In realta' so che siete qui solo per una cosa: ecco gli screenshots.

Update 05.03.2005

Da circa 8 mesi ho abbandonato YDL in favore di Debian, e negli ultimi mesi la scena PPC ha visto un fenomenale fermento con la nascita di molte release di un sacco di distribuzioni. Inoltre, il modello base dell'iBook ora comprende il processore a 1.2GHz ad un prezzo fenomenale.
Ormai ogni parte dell'iBook e' perfettamente supportata da linux (esclusi modem interno e Airport Extreme) e con il kernel 2.6.11 anche lo sleep funziona al 100%.
Fra le nuove distribuzioni, il mio consiglio e' di tenere d'occhio Ubuntu (che come nel mondo x86 si dimostra una distribuzione solida e adatta ai principianti). YDL ha rilasciato la versione 4.0.1, Mandrake la 10.1, Debian continua il suo sviluppo costante.

Questa guida ha quindi quasi cessato la sua utilita', ma ovviamente restera' qui perche' tutto sommato qualcosa di buono lo contiene. Resta ovviamente valido il mio indirizzo email per ogni domanda e dubbio.

0. Specifiche Tecniche

Il mio iBook ha questa configurazione:
Nella configurazione base l'HD e' da 30GB e non c'e' il BT, mentre la RAM e' 256MB. Inoltre mi sono comprato un mouse ottico, visto che non mi andava di accontentarmi del trackpad monotasto.

1. La Distribuzione

Ci sono parecchie distribuzioni dedicate al mondo PPC:
Io ho scelto Yellowdog: uso Red Hat da sempre e quindi e' stata la scelta piu' "naturale".
Ho scaricato la versione 3.0.1 (Sirius), ho controllato le iso con la MD5SUM e ho masterizzato.

2. Preparazione

Per prima cosa ho partizionato il disco.
Per fare questo basta inserire il CD denominato "OSX Install 1" in dotazione all'iBook e riavviare la macchina tenendo premuto il tasto "c" sulla tastiera.
Quando e' caricato l'installer di Apple, si sceglie il Disk Manager e si creano 2 partizioni, una per OSX e una per Linux. Le proporzioni sono a piacere, bisogna ricordare di lasciare la partizione per Linux come "Free Space".

ATTENZIONE

Il partizionamento DISTRUGGERA' tutti i dati sul disco. Se avete dei dati, fate un backup!
Dopo aver fatto le partizioni ho reinstallato Panther e ho riavviato col primo CD di YDL inserito, bootandolo ancora una volta tenendo premuto "c".

3. Primo Round

Sul sito di Yellowdog c'era chiaramente scritto che la mia scheda video non e' supportata. Ma io, caprone come pochi, ho deciso di tentare comunque l'impresa. Inutile dire che non ha funzionato: il sistema operativo e' stato installato rapidamente e senza problemi, ma senza X. Peccato.
Allora ho scritto al supporto tecnico di YD, e in meno di due ore ho ricevuto risposta da Troy Vitullo, che mi ha dato la soluzione ai miei problemi.

4. Secondo Round

Ho scaricato cosi' 3 iso nuove:
http://ftp.terraplex.com/~dburcaw/yellowdog-3.0.1-sirius-20040118-install1.iso
http://ftp.terraplex.com/~dburcaw/yellowdog-3.0.1-sirius-20040118-install2.iso
http://ftp.terraplex.com/~dburcaw/yellowdog-3.0.1-sirius-20040118-install3.iso

Mi e' stato segnalato da piu' parti che i link alle iso non sono piu' validi, e che in realta' non sono andate a sostituire le iso ufficiali di Sirius. Pertanto provate ad usare questi link di eDonkey:

ed2k://|file|yellowdog-3.0.1-sirius-20040118-install1.iso|659095552|DD007BF7370ADE55D6393D7807DCB7F4|/
ed2k://|file|yellowdog-3.0.1-sirius-20040118-install2.iso|674398208|0C90F1B16E19242F79F2D06D89D99141|/
ed2k://|file|yellowdog-3.0.1-sirius-20040118-install3.iso|579956736|C06EFBA7F433FE63EF996A3BD6DB7FA2|/
ed2k://|file|yellowdog-3.0.1-sirius-20040118.md5|342|85D1B1FA756A706A67CDB2A60F8129BE|/

Altrimenti potete rivolgervi agli ottimi ragazzi di linuxcd.org che hanno aggiunto questa particolare edizione alla loro offerta. La trovate qui, per soli $5,97.
Robin Ganter ha un piccolo ftp dove ho uploadato le iso. Se proprio non riuscite a procurarvi i files in altro modo, contattatelo.
Se vi serve altro scrivetemi.

e mi sono buttato a capofitto nell'installazione.

Per chi ha gia' installato una Red Hat non ci saranno difficolta' a raccapezzarsi in anaconda, l'installer di YDL.
Dopo aver preparato le partizioni come desiderato (io ho creato una / e una /home) ho scelto i pacchetti da installare. Bisogna tenere presente che YDL 3 e' basata su RH9, quindi i pacchetti non sono aggiornatissimi (Gnome 2.2, ad esempio).
Il bootloader per ppc si chiama yaboot e assomiglia a lilo: dopo ogni modifica al file di configurazione /etc/yaboot.conf dovrete lanciare

# ybin

La prima volta non mi ha aggiunto OSX tra le opzioni di avvio. Basta aggiungere al file di configurazione la riga

macosx=/dev/hdaX

sostituendo ad X il numero della partizione (dovrebbe essere 4 o 5, in linea di massima).
L'installazione e' finita in poco piu' di 20 minuti (sul mio PIII 550 ci vuole quasi un'ora ad installare RH9!) e ho riavviato.

5. Orrore!

Al riavvio X non veniva caricato. Ho cosi' contattato ancora il mitico Troy che a stretto giro di email mi ha dato la dritta decisiva: da root ho digitato

# Xautoconfig --fbdev

e ho riavviato X: FUNZIONA!
Qui trovate il mio XF86Config.

6. Configurazione

Una volta che X e' stato funzionante ho potuto configurare a mio piacimento il sistema.
Prima di tutto ho aggiunto al pannello l'icona dello stato della batteria. L'unica funzione APM non supportata e' lo sleep.
Ho testato le funzioni DVD e CDRW. Funzionanti al 100%.
Il suono e' attivo, e ovviamente non c'e' accelerazione 3D. C'e' una petizione che chiede ad ATi il supporto ppc, firmatela se volete.
Inoltre, i tasti funzione da 1 a 5 e F12 hanno sotto OSX possibilita' speciali: F1 e F2 comandano la luminosita' dello schermo, mentre F3 F4 e F5 comandano il volume. Grazie a pbbuttons, funzionano out-of-the-box.
Anche il tasto F12 (eject) funziona al 100%,  mentre si cambia di console con fn+ctrl+alt+Fx.
Non avendo dispositivi firewire non parlo di questo (ma il kernel sembra accettarla senza problemi), le USB non hanno problemi.

7. Software Aggiuntivo

Non disponendo di una connessione ad internet a portata di mano, mi ero scaricato in anticipo un po' di pacchetti che sapevo mi sarebbero tornati utili, quali ad esempio Gnome 2.4 e un po' del repository di freshrpms.
I pacchetti di Gnome 2.4 vengono dall'FTP di Fedora: potete trovare la gran parte dei pacchetti della distribuzione FC1 compilati anche per ppc (e persino per ppc64, se avete la fortuna di possedere un G5). Qui trovate la lista dei pacchetti da scaricare per avere Gnome 2.4 funzionante: la maggior parte come detto viene da fedora, quelli che non sono li li ho trovati usando rpmseek.com.
Aggiornando Gnome mi sono trovato di fronte ad un problema: gdm cercava il tema Bluecurve di Fedora, che ovviamente YDL non ha. Allora ho fatto questo:

Fn+Ctrl+Alt+F1
login as root
# startx -- :1
# gdmsetup


e ho impostato il tema Wonderland di default. Tornando sulla console F7 gdm era venuto su senza intoppi. Al limite un riavvio fara' miracoli.
Yellowdog viene fornita con apt preinstallato: gia' dall'installazione viene detto che l'aggiornamento e' facile come fare

# apt-get update
# apt-get upgrade

e in effetti lo e'. Aggiungete al vostro sources.list (che a scanso di equivoci allego qui) anche freshrpms e siete praticamente a posto.
Ho aggiunto inoltre altri pacchetti compilati da me (K3B 0.11.1 ad esempio) a partire da src.rpm, e li metto a disposizione se non avete voglia di ricompilarli a manina, o non siete capaci. Li trovate qui, e va da se che sono forniti *senza alcuna garanzia*.
Inoltre non ho installato Openoffice fornito nella distribuzione (e' 1.02!) ma ho scaricato la versione 1.1 dal sito Yellowdog.

8. Compilare

Faccio un piccolo excursus sull'aggiunta di sotware a questa distro.
Ovviamente partendo dal codice sorgente la procedura di installazione e' la solita

$ ./configure
$ make
#make install

o comunque cio' che e' indicato nel README.
Se invece volete mantenere il sistema un po' piu' pulito dovete necessariamente rivolgervi a RPM.
Come primo metodo vi segnalo checkinstall, un geniale programmino che sostituisce il make install nella procedura di installazione da sorgenti: la sua funzione e' quella di installare il programma appena compilato e di aggiungere una voce al database RPM dimodoche' per disinstallarlo sia sufficiente il solito

# rpm -e <nomepacchetto>

Ne trovate un rpm nella directory dei pacchetti indicata sopra.
Se invece volete entrare nel magico mondo di rpmbuild, avete fondamentalmente due strade: il src.rpm e lo specfile.
Per ricostruire un pacchetto src.rpm dovete semplicemente dare questo comando:

# rpmbuild --rebuild <nomepacchetto>.src.rpm

se tutto andra' per il verso giusto alla fine della compilazione troverete nella cartella /usr/src/redhat/RPMS gli rpm pronti da installare col solito

# rpm -ivh <nomepacchetto>.rpm

Se invece volete farlo "the hard way" dovete armarvi o di molta pazienza o di molta fortuna. Imparare a scrivere uno specfile non e' cosa molto semplice: Matthias Saou ha scritto un simpatico articolo a proposito di questo. Se invece siete fortunati all'interno del pacchetto sorgente troverete gia' uno specfile bello e pronto. In questo caso, il comando da eseguire e'

# rpmbuild -tb <nomefile>.tar.gz

e come sopra, se tutto sara' andato per il verso giusto, troverete i pacchetti pronti per essere installati.

9.Tips & Tweaks

Ci sono un po' di cosette da fare per rendere completamente funzionale l'iBook sotto linux.
Prima di tutto la tastiera e' pensata per essere usata con OSX, cosi' come il trackpad monotasto. Io ho rimappato il tasto option (quello con la mela, per intenderci) come se fosse AltGr, mentre F10 e' di default impiegato come terzo tasto del mouse e F11 (che sotto OSX serve per expose') vale come tasto destro.
Ci sono poi un paio di cose specifiche della distribuzione: in questi documenti spiego come modificare il pannello di Gnome (che altrimenti sarebbe bloccato) e come aggiungere fonts ttf.

10. Mac On Linux

Ok, questo e' il vero pezzo forte. MacOnLinux e' un PC virtuale che vi permette di usare OSX direttamente da dentro Linux.
Viene installato di default da YDL, ma (maledizione) non funzionava. Allora sono andato sul sito e mi sono scaricato i src.rpm da ricompilarmi. Nessun problema, se non volete darvi la pena di farlo li trovate da scaricare.
Gli rpm sono ricostruiti sul kernel di default 2.4.24-1.ydl.1.1016 e funzioneranno SOLO con questo kernel.
Dopo aver installato MOL dovete lanciare da root:

# molvconfig

e configurare il video da usare. In seguito create un file di nome /etc/molrc in cui scriverete:

blkdev: /dev/hda -rw

e infine lanciate il programma (la prima volta da root, poi da utente):

# startmol --osx

Fatto! MOL funziona!

11. Bluetooth

YDL dice che il BT non e' supportato. Io ho installato questi pacchetti, appena trovo un apparecchio BT da testare vi faccio sapere.

Cattive notizie: il modulo bluetooth integrato non funziona.

12. Conclusione

Questo e' grossomodo tutto quello che ho dovuto fare per far funzionare il mio iBook nel modo che voglio io sotto Linux.
Per qualsiasi cosa, contattatemi pure!

DISCLAIMER

Tutto quello che c'e' scritto qui sopra ha funzionato PER ME e NEL MIO SPECIFICO CASO. Se dopo aver fatto una qualsiasi delle cose descritte qui sopra vi esplode il Mac, vi muore il gatto o venite invasi dalle cavallette non e' colpa mia. Grazie.