Ubuntu Hardy on Macbook 4.1 (Penryn)

Trovo finalmente il tempo di scrivere questa guida, come promesso… Mi scuso per l’assenza degli ultimi tempi, ma gli impegni, soprattutto universitari, mi hanno concesso poco tempo…

Ormai sono un felice possessore dell’Apple Macbook dal quasi due mesi, per cui posso trarre le mie conclusioni e raccontare la mia esperienza di installazione di Ubuntu 8.04 “Hardy Heron”.

Il MacBook è pronto per accogliere Ubuntu !
(grazie a Doc per la foto)

In realtà tutta la procedura è stata estremamente semplice e senza particolari intoppi. Ho seguito le varie guide e consigli trovati in rete, e tutto ha funzionato quasi al primo colpo.

In particolare le mie guide di riferimento sono state proprio quelle ufficiali:

  • MacBookSantaRosa , sul wiki della nostra Comunità Ubuntu-it (in italiano, dunque)
  • MacBook , wiki supercompleto della Comunità internazionale (in inglese)
  • MacBookSantaRosa , sempre in inglese, ma specifico per la versione “SantaRosa”

In realtà la macchina che ho io è stata aggiornata a Febbraio 2008 (MacBook 4.1) e rispetto alla versione precedente questa monta una cpu Intel Core2Duo di tipo “Penryn” e altre modifiche più o meno piccole (di cui forse la più importante è la scheda wireless).

In generale però, le guide per MacBook SantaRosa si adattano benissimo anche a questo modello, almeno per un 90%.

Visto che la maggior parte delle procedure si trova già nelle guide che ho linkato, mi limiterò a fare un breve resoconto dei passaggi che ho seguito, omettendo di fare inutili copia/incolla. Fate riferimento a quelle guide per i dettagli !

Andiamo con ordine…

PREPARAZIONE DEL SISTEMA

Per preparare il sistema (con MacOs installato di default) ad una installazione di Ubuntu/Linux, è necessario installare rEFIt, che permetterà di scegliere al boot se avviare la partizione di Mac o quella di Linux. Si scarica dal sito ufficiale e si installa in due click (su MacOs).

Fatto questo, passiamo a partizionare. Bisogna ridurre la dimensione della partizione di MacOs per lasciare un po di spazio per Ubuntu. E’ possibile far questo via terminale con il comando

sudo diskutil resizeVolume disk0s2 50G

ma il modo più facile e intuitivo è probabilmente attraverso Bootcamp.

Una volta creata la partizione, inserire il cd live di ubuntu e riavviare. Per avviare da cd, tenere premuto il tasto C all’accensione. Installare ubuntu normalmente… seguendo la procedura standard.
Ho scelto di installare la normale versione di Ubuntu x86 (32bit) per evitare ogni sorta di problemi dovuti ai software proprietari con le distro a 64bit, inoltre credo che il guadagno in prestazioni sia trascurabile (anche se magari prima o poi farò qualche test 😉 )

Al momento di partizionare (meglio farlo manualmente) controllare che siano presenti solo la partizione di MacOs e un’altra, che formattermo Ext3 gli assegneremo / come punto di mount.

Dopo aver completato l’installazione, al riavvio dovrebbe essere possibile, con rEFIt, scegliere quale sistema avviare.

Se cosi non dovesse essere, provare questa procedura. A me inizialmente si bloccava al caricamento iniziale di Linux. Seguendo quelle indicazioni, ho rieseguito il setup di Grub, e tutto è tornato alla normalità.

Se tutto è andato come previsto, dovreste essere già sul Desktop di Ubuntu !

PERIFERICHE

Ubuntu Hardy riconosce automaticamente quasi tutte le periferiche. Questo è il risultato di “lspci

00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)
00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 03)
00:1c.5 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 6 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)
00:1f.0 ISA bridge: Intel Corporation 82801HEM (ICH8M) LPC Interface Controller (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03)
00:1f.2 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA IDE Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)
02:00.0 Network controller: Broadcom Corporation BCM4328 802.11a/b/g/n (rev 03)
03:00.0 Ethernet controller: Marvell Technology Group Ltd. Marvell Yukon 88E8058 PCI-E Gigabit Ethernet Controller (rev 13)
04:03.0 FireWire (IEEE 1394): Agere Systems FW323 (rev 61)

RETE: ETHERNET e WIRELESS

Per prima cosa, andiamo ad attivare la connessione internet. La scheda di rete Gigabit Ethernet funziona già da subito senza problemi. Basta collegare il cavo e siete già su internet ! 😉

Per la wireless c’è invece da fare qualche piccolo passaggio. Il chip wireless presente è un Broadcomm BCM4328, che supporta le modalità 802.11a/b/g/n. Purtroppo questo chip non è ancora supportato dai driver opensource b43, per cui dobbiamo affidarci a Ndiswrapper.

Installiamo Ndiswrapper con

sudo apt-get install ndiswrapper-utils-1.9

e successivamente installiamo i driver corretti con questi comandi

wget http://ftp.us.dell.com/network/R151517.EXE
mkdir driver
unzip -a R151517.EXE -d driver/
cd driver/DRIVER/
sudo ndiswrapper -i bcmwl5.inf
sudo ndiswrapper -l
sudo ndiswrapper -m
sudo modprobe ndiswrapper

A questo punto la vostra interfaccia wireless dovrebbe essersi attivata. Potete configurarla con Network Manager o Wicd.
Se tutto funziona, aggiungete al file /etc/modules il modulo “ndiswrapper” per caricarlo in automatico all’avvio.

TOUCHPAD

Per impostare il touchpad, abilitando anche lo scroll con due dita, seguire le istruzioni nei wiki sopra citati.

TASTI FUNZIONE

Per abilitare i tasti Fn, Eject, aumento/diminuzione luminosità e audio, utilizziamo il programma pommed.

Per installare una versione più aggiornata rispetto a quella dei repository ufficiale, aggiungiamo il seguente repositori al file /etc/apt/sources.list

deb http://ppa.launchpad.net/mactel-support/ubuntu hardy main
deb-src http://ppa.launchpad.net/mactel-support/ubuntu hardy main

Salviamo, e aggiornamo con i consueti

sudo apt-get update
sudo apt-get upgrade

E’ probabile che vengano aggiornati anche altri pacchetti. Fatelo senza problemi

Adesso installiamo pommed con

sudo apt-get install pommed

AUDIO

La scheda audio (HDA Intel) dovrebbe essere già riconosciuta e funzionante. Se non sentite alcun suono, accertatevi che i livelli del mixer audio siano alzati, e gli interruttori attivati (compresi quelli del canale “front“).

Se ancora non sentite niente, può essere necessario editare il file /etc/modprobe.d/options inserendo la seguente riga

options snd_hda_intel model=mbp3

WEBCAM iSight

Per configurare la webcam integrata isight, seguire questa procedura.

VIDEO 3D E COMPIZ

La scheda video Intel X3100 è subito riconosciuta, compresa accelerazione 3D.
E’ possibile dunque abilitare Compiz già da subito. Ed è veloce e scattante 😉

CPU e ACPI

Per regolare in automatico lo scaling delle frequenze ed il risparmio energetico del processore, installare da repository il pacchetto cpufrequtils.
Può essere utili e comodo aggiungere al pannello di Gnome l’applet che visualizza la “variazione di frequenza della CPU“. Tramite questa applet è possibile anche settare la frequenza e impostare uno dei quattro profili disponibili (Conservative, Ondemand, Performance, Powersave). Da quanto ho visto io, il profilo Ondemand è adatto praticamente in ogni situazione.
Non è scontato che il profilo Powersave (che imposta la frequenza più bassa possibile) aumenti la durata della batteria. Anzi, diminuendo la frequenza, aumenta di conseguenza il tempo di esecuzione… e il processore “sforza”. La politica “ondemand” sfrutta il processore al massimo solo quando serve davvero, ottimizzando al meglio potenza ed energia.

Se non riuscite a variare la frequenza dall’applet, provate questo fix:

sudo chmod +s /usr/bin/cpufreq-selector

La gestione dell’ACPI in generale è ancora un po’ problematica. Il modulo di sistema che dovrebbe gestire temperature e ventole applesmc, sembra infatti non funzionare ancora bene su questo modello di macbook. In particolare, sembra che le temperature vengano correttamente rilevate, mentre la velocità della ventola no. Questo non vuol dire che non funziona, ma solo che non la possiamo impostare e regolare come vorremmo.

L’unico inconveniente che per ora ho riscontrato nell’utilizzo di Ubuntu (rispetto a MacOs) è la gestione energetica e delle temperature. Ma d’altra parte è normale che sia cosi. MacOs è un sistema operativo ottimizzato al massimo per l’hardware su cui deve girare, un integrazione totale tra macchina e sistema operativo che è impensabile in altri SO.
Questo semplicemente perchè è stato progettato per l’hardware su cui deve girare, e non (come in windows) il contrario. E forse la vera forza di MacOs è proprio questa… e non ha eguali.

Speriamo che nelle prossime versioni del kernel applesmc venga corretto… poi sarà tutto perfetto!

CONCLUSIONI

Installare Ubuntu (e similmente, qualsiasi distribuzione Linux) su MacBook è veramente semplice, e non porta via più di una mezzoretta. Il tutto senza problemi, e soprattutto senza compromessi. Sono rimasto veramente soddisfatto dalla reattività del sistema, in ogni sua parte…

Aggiornerò questo resoconto man mano che trovero nuovi how-to e aggiornamenti interessanti!

Stay tuned!