Iscriviti al feed "Il Chicco di Sale"

lunedì 19 novembre 2007

Mac OSX, Linux, Windows: Triplo Boot su Macbook

Il mio macbook era relegato a fare la parte del giocattolo che si collega ad internet, la quasi totalità dei miei clienti/amici hanno nelle loro aziende/studi/case sistemi basati su Windows e qualcuno su Linux e portarmi un notebook con Mac OSX a volte non mi aiutava a risolvere i problemi per i quali mi chiamano. Così, oltre il classico Mac OSX, ho istallato sul mio macbook anche Windows e Linux prima con la distribuzione 7.04 di Ubuntu e poi sono passato alla 7.10 Gusty Gibbon. Ho avuto il tempo di fare un po’ di prove e sono soddisfatto di come si comporta ognuno dei sistemi operativi, quindi, se anche voi avete l’esigenza di poter lavorare nei diversi sistemi e non avete la necessità o la pazienza di istallarli su una macchina virtuale, vi consiglio di operare come segue:



Procuriamoci gli ingredienti.
  • Abbiamo bisogno di un bel macbook (non ci credereste, ma non importa se è bianco o nero!), il mio ha un processore Intel Core 2 Duo a 2GHz con 2Gb di Ram, hard disk da 160Gb e unità SuperDrive (masterizzatore di DVD Dual Layer), ma il tutto può funzionare anche con meno "attrezzatura";
  • ci serve, poi, un CD di istallazione di Windows regolarmente licenziato (io ho istallato XP Professional perché è lo stesso che la maggior parte dei miei clienti/amici ha sui propri client e perché Vista non è ancora entrato nelle mie simpatie e costa troppo);
  • dobbiamo avere un CD o DVD con la distribuzione di Ubuntu 7.10 Gusty Gibbon (ho utilizzato la versione x86 a 32 bit per semplicità e compatibilità, ma ho letto da qualche parte che funziona anche la AMD64)
  • avviato Mac OSX ci scarichiamo BootCamp e Refit
  • assolutamente necessario sarà un CD dei driver per Windows dei componenti del Macbook, perciò istalliamo BootCamp, il software nato per far girare Windows su qualunque Mac con CPU Intel. Basta seguire le semplici istruzioni a video per creare il CD dei driver ed è importante farlo a questo punto: una volta istallati gli altri Sistemi Operativi, il programma potrebbe non riconoscere il formato del disco e non partire. ATTENZIONE: questo software permette anche di partizionare il disco per ricavarne una partizione Fat32 su cui istallare Windows ma NON PARTIZIONARE IL DISCO CON BOOTCAMP (almeno io non l’ho fatto)!
  • ultimo requisito (ma primo in ordine di importanza) bisogna munirsi di grande pazienza!

Preparazione

Avviamo Mac OSX ed eseguiamo l’Aggiornamento Software del S.O. all’ultima versione e l’aggiornamento del firmware all’ultima versione, riavviamo tutte le volte che ci viene chiesto e alla fine possiamo incominciare.

Apriamo il teminale di OSX e digitiamo

diskutil list
 avremo per risposta qualcosa del genere 
/dev/disk0
___ #: ____________________ type name
_______ size _________ identifier
___ 0: __ GUID_partition_scheme ___________ *149.1 GB ________ disk0
___ 1: _______________________ EFI _________ 200.0 MB ________ disk0s1
___ 2: ____ Apple_HFS Macintosh HD _________ 149.1 GB ________ disk0s2

che ci fa vedere come è organizzato il nostro hard disk. Teniamo a mente il nome del dispositivo su cui è istallato il S.O. di casa Apple (nell’esempio è disk0s2) che dobbiamo partizionare per far posto agli altri due tramite il comando diskutil resizeVolume. La sintassi è:

diskutil resizeVolume /dev/disk$OSX Grand_partOSX Tipo_part2 Nome_part2 Grand_par2 Tipo_part3 Nome_part3 Grand_par3

quindi, per esempio:

diskutil resizeVolume /dev/disk0s2 80G Linux Linux 39.3G "MS-DOS FAT32" Windows 29.8G

il vostro hd avrà probabilmente capacità totale diversa, o magari volete riservare diverse capacità alle partizioni: dovete solo variare i parametri relativi alle grandezze delle partizioni considerando che la partizione per Windows DEVE ESSERE L’ULTIMA (non chiedetemi perché, ma per qualche strana imposizione se non viene messa per ultima non funziona) e che per formattarla in Fat32 (può essere comodo per lo scambio di files tra i diversi S.O.) non deve superare il limite dei 32 miliardi di byte. A questo punto riavviamo il notebook e, aperto di nuovo il terminale ripetiamo

diskutil list

stavolta ci troveremo le indicazioni di questo genere:

/dev/disk0
___ #: ____________________ type name _______ size ________ identifier
___ 0: __ GUID_partition_scheme ___________ *149.1 GB ________ disk0
___ 1: _______________________ EFI _________ 200.0 MB ________ disk0s1
___ 2: ____ Apple_HFS Macintosh HD _________ 80 GB ___________ disk0s2

___ 3: ______ Microsoft Basic Data _________ 39.3 GB _________ disk0s3
___ 4: ________ Microsoft Reserved _________ 29.8 GB _________ disk0s4

Istallazione e configurazione di Windows.
OK, possiamo istallare Refit (nel Mac OSX Disk), poi inseramo il CD di istallazione di Windows e riavviamo. Con l’ultima versione di Refit non c’è bisogno di configurare nulla e alla ripartenza ci chiederà se vogliamo eseguire il bootstrap dalla mela di Mac Osx oppure dal CD di Windows: partiamo da quest’ultimo ed eseguiamo tutta l’istallazione.
ATTENZIONE: NON SI PUO’ assolutamente ripartizionare (di nuovo) il disco, (ripeto) come partizione di istallazione si DEVE scegliere l’ultima (quella marcata come C:) e si DEVE formattare la partizione (io ho scelto “Formattazione Rapida Fat32”: mi sono perso i vantaggi dell’NTFS ma posso più facilmente scambiare informazioni tra i S.O.)
Da questo momento, ad ogni riavvio del Macbook durante l’istallazione (almeno 2) chiediamo a Refit di eseguire la partenza da “Windows su Hard Disk”. In circa mezz’ora avremo la nostra istallazione, inseriamo il CD dei driver per Windows ricavato da BootCamp e istalliamo anche quello, ci impiegherà un po’ di tempo ma caricherà tutti i driver di tutti i componenti hardware. Appena finito possiamo usare Windows a piacimento e iniziare a inserire i nostri programmi preferiti (da ricordare antivirus, antispyware e personal firewall, ché quello di Windows fa ridere!).

Istallazione e configurazione di Linux (Ubuntu 7.10).
Accendiamo o riavviamo il Macbook con il CD di Ubuntu inserito, Refit ci chiederà quale S.O. vogliamo far partire: scegliamo Linux da CD. In poco tempo sarà caricato l’ambiente desktop grafico di Ubuntu funzionante dal Live CD da cui possiamo fare un doppio click su Installa per avviare il programma che istallerà Linux sul nostro hard disk. Dobbiamo, adesso, porre attenzione a 2 punti particolari: la scelta della tastiera e il partizionamento del disco. Il layout della tastiera da scegliere è Italiana (e basta) senza cadere nella tentazione di scegliere Italiana Apple (o Italiana MacIntosh – a seconda della distribuzione). Per quanto riguarda il partizionamento del disco scegliamo di farlo manualmente. Refit proietta nella configurazione EFI del disco un classico MBR che possiamo utilizzare per le nostre istallazioni, ma questo ci permette di poter avere solo 4 partizioni primarie e poiché la prima è occupata dal Sistema EFI, la seconda dal Mac Osx e l’ultima da Windows, non possiamo far altro che scegliere di istallare Linux nella partizione sda3 avendo cura di NON ridimensionarla, dandole punto di mount / (sarà l’unica partizione Linux, non avremo neanche quella di swap) e formattandola.

Non avere partizione di swap non crea alcun problema di lentezza né di indecisioni del Sistema ma non so se le stesse prestazioni e affidabilità siano garantite anche su macbook equipaggiati con solo 1Mb di ram, in ogni caso sono sicuro che sia possibile risolvere eventuali problemi creando e facendo usare ad Ubuntu un file di swap vuoto da un paio di Mb.

Portata a termine l’istallazione, posiamo rimuovere il CD/DVD e riavviare: ci sarà sempre Refit a darci il benvenuto visualizzando i sistemi operativi disponibili ma sia che sceglieremo Windows, sia Linux, partirà comunque il boot loader Grub da cui dovremo impostare il S.O. che vogliamo caricare.

Non abbiamo ancora finito, avviato il Gusty Gibbon dovremo ancora configurare un po’ di cose, così muniamoci di un cavo di rete per collegarci al router ed avere accesso a internet, poiché la Airport degli ultimi Macbook con processore Intel Core 2 Duo non sarà al momento funzionante (cosa che non si verifica se si ha uno dei primi Macbook con CPU Intel Core Duo la cui scheda wireles lan viene immediatamente riconosciuta e messa in funzione).
Airport
Dal momento che l’abbiamo nominata, partiamo proprio dalla Airport e vediamo come caricare i driver del chipset Atheros Wifi che la equipaggia, così apriamo una sessione terminale per scaricare il driver e istallarlo digitando i seguenti comandi:

sudo aptitude install build-essential wget http://snapshots.madwifi.org/madwifi-trunk-current.tar.gz
____ (se qui sopra vedete più di una riga, sappiate che è un unico comando!)
tar –zxvf madwifi (premi TAB)
cd madwifi (premi TAB)
make
sudo make install


(non ricordo se durante l’istallazione veniva richiesto se si vuole sovrascrivere qualche file solo nella 7.04 o anche nella 7.10: in ogni caso se si presentasse la domanda risponderemo che vogliamo la sovrascittura)

Il driver della scheda di rete senza fili è così istallato, il sistema la riconosce come ath0, dovremo riavviare e configurare i parametri per il collegamento. Per farlo possiamo utilizzare l’interfaccia grafica: clickiamo su Sistema/Amministrazione/Strumenti di rete, nella scheda Interfacce scegliamo ath0 e clickiamo su Configura: possiamo disabilitare la Modalità roaming, inseriamo l’ESSID, il tipo di chiave di protezione e la chiave stessa, più in basso possiamo scegliere se vogliamo che un server DHCP ci attribuisca un indirizzo IP oppure lo inseriremo manualmente insieme alla sottomaschera e all’indirizzo del gateway.
Intel GMA950, Audio, iSight
Non dovremo scaricare e istallare alcun driver della nostra scheda video, né della scheda audio e della webcam integrata: finalmente in Gusty Gibbon sono supportate “out of the box” J così come pure i tasti funzione per la regolazione della luminosità e del volume!
Tastiera e trackpad
Per il tuning della tastiera e il tarckpad ci si può sbizzarrire, in ogni caso le cose a cui non si può rinunciare saranno: un tasto “Alt Gr” indispensabile per le @, #, le parentesi quadre ecc.; un tasto che faccia da “Click destro” e uno che faccia da “Click centrale”; infine ci piacerebbe poter usare lo scorrimento con 2 dita sul trackpad, il click tramite tap (un dito) e il click destro tramite doppio tap (con 2 dita contemporaneamente). Per quanto possibile utilizzeremo le procedure più semplici per ottenere lo scopo: si (ri)parte!

  • Trasformiamo il tasto “Mela destro” in “Alt Gr”: clickiamo su Sistema/Preferenze/Tastiera, nella finestra che si apre scegliamo la scheda Opzioni di disposizione e selezioniamo Selettore di terzo livello, infine spuntiamo l’opzione Premere il tasto Win destro per scegliere il 3° livello. Fatto! Riavviamo il “server X” premendo Ctrl+Alt+Backspace ed avremo il tasto “Alt Gr” a disposizione!
  • Ora trasformiamo il tasto “Enter basso” nel tasto destro del trackpad e la combinazione “AltGr+EnterBasso nel tasto centrale del tackpad: clickiamo su Sistema/Preferenze/Accesso Universale/Accessibilità Tastiera, nella finestra che si apre spuntiamo (in alto) Abilitare le funzioni di accessibilità della tastiera, poi scegliamo la scheda Mouse da tastiera e spuntiamo Abilitare il mouse da tastiera e chiudiamo la finestra di configurazione.

A questo punto dovremo aprire il terminale e inserire il seguente comando:

sudo sed -i~ 's/KP_Enter/Pointer_Button3, Pointer_Button3, Pointer_Button2, Pointer_Button2/' /etc/X11/xkb/symbols/keypad

Riavviamo il “server X” premendo Ctrl+Alt+Backspace ed avremo a disposizione tasto destro e centrale del trackpad rispettivamente con “EnterBasso” e “AltGr+EnterBasso”

  • Ultimo passo sarà quello di configurare il trackpad per permettere lo scroll con le due dita, il click via tap e il click destro via doppio tap (con due dita contemporaneamente). Facciamola semplice, apriamo il terminale ed editiamo il file xorg.conf che si trova nella directory /etc/X11/ (con vi va benissimo!) e sostituiamo la sezione “InputDevice” identificata con "Synaptics Touchpad" con il seguente testo (NON fare il copia e incolla!):
____ Section "InputDevice"
_____________ Identifier "Synaptics Touchpad"
_____________ Driver "synaptics"
_____________ Option "SendCoreEvents" _______ "true"
_____________ Option "Device" _______________ "/dev/psaux"
_____________ Option "Protocol" _____________ "auto-dev"
_____________ Option "LeftEdge" _____________ "150"
_____________ Option "RightEdge" ____________ "1070"
_____________ Option "TopEdge" ______________ "100"
_____________ Option "BottomEdge" ___________ "310"
_____________ Option "FingerLow" ____________ "25"
_____________ Option "FingerHigh" ___________ "30"
_____________ Option "MaxTapTime" ___________ "180"
_____________ Option "MaxTapMove" ___________ "220"
_____________ Option "MaxDoubleTapTime" _____ "180"
_____________ Option "VertScrollDelta" ______ "20"
_____________ Option "HorizScrollDelta" _____ "50"
_____________ Option "MinSpeed" _____________ "1.10"
_____________ Option "MaxSpeed" _____________ "1.30"
_____________ Option "AccelFactor" __________ "0.08"
_____________ Option "LockedDrags" __________ "off"
_____________ Option "TapButton1" ___________ "1"
_____________ Option "TapButton2" ___________ "3"
_____________ Option "TapButton3" ___________ "2"
_____________ Option "VertTwoFingerScroll" __ "1"
_____________ Option "HorizTwoFingerScroll" _ "0"
_____________ Option "VertEdgeScroll" _______ "0"
_____________ Option "HorizEdgeScroll" ______ "0"
_____________ Option "Emulate3Buttons" ______ "true"
_____________ Option "SHMConfig" ____________ "on"
_____________ Option "RTCornerButton" _______ "0"
_____________ Option "RBCornerButton" _______ "0"
_____________ Option "LTCornerButton" _______ "0"
_____________ Option "LBCornerButton" _______ "0"
____ EndSection

Se vogliamo attivare lo scroll orizzontale basta inserire 1” al posto di 0” nella riga relativa a "HorizTwoFingerScroll" ma si deve considerare che lo scroll orizzontale in Firefox determina la visualizzazione della pagina web “precedente” o “seguente” ed a me non è sembrato il massimo della comodità.

Ci fermiamo qui con la certezza che si potrebbe personalizzare molto altro ancora, ma quella è un’altra storia!

Per arrivare ad avere il tutto funzionante ho avuto bisogno di più di una prova, ho letto molto e in particolare mi è stata di aiuto questa guida nella documentazione ufficiale di Ubuntu