Linux on a Mac (Updated)

Come avere un sistema linux su una macchina Apple senza perdere l’oSX già installato a bordo del Mac e senza impazzire!!

Linux on Mac: non più una impresa da Mission Impossible

È da diverso tempo, che leggo in giro varie documentazioni che spiegano, tra un artificio e l’altro, come riuscire a sfruttare tutta la potenza di un computer Apple usando al posto del suo sistema nativo, l’oSX, una distribuzione Linux.

Ho trovato tantissima documentazione, sia in inglese che in italiano, ma già il fatto che la maggior parte della documentazione risulta essere specifica per una distribuzione o l’altra mi ha fatto spazientire, non parliamo poi delle solite guide scritte, da chissà chi, alla fine delle quali ti ritrovi con una macchina inchiodata con uno schermo nero e doverti reinstallare tutto dal tuo fidato backup, se l’hai fatto, o, e peggio per te se non l’avei fatto, da zero.

Che fare dunque? Mi son chiesto più volte: ”Possibile che non esista un modo rapido, ma sopratutto sicuro, per avere una partizione, interna o esterna su chiavetta o disco USB che fosse, senza dover diventare pazzi?”

Una volta per i driver del disco, una volta per i driver video, una volta per driver di rete, fissa o wifi che fosse, insomma in ogni guida manca qualcosa che permetta di poter fare una classica installazione da una ISO pulita e che al primo reboot, una volta premuto il tasto ALT, compaia la selezione “Linux o oSX” da cui poter scegliere?

Cosi mi son messo a pensare in maniera alternativa e un modo l’ho trovato: sicuramente altri l’hanno trovata prima di me, ma pare che nessuno di questi si sia preso la briga di condividere la propria soluzione, quindi andiamo a vedere subito come fare.

Prerequisiti:

  • Un sistema oSX, meglio se aggiornato e funzionante regolarmente: non ha importanza che sia stato appena installato, l’importante che funzioni regolarmente;
  • Un disco o chiavetta USB con dimensioni sufficienti a contenere il vostro sistema operativo Linux più tutto lo spazio che vi servirà per farci stare i vostri dati e tutti i software che vorrete installarci.
  • Una ISO della vostra distribuzione preferita, in questo esempio io installerò una LinuxMint Mate 18.0, ma potete usare quella che vi pare, fosse anche una Gentoo da installare da zero (a patto che sappiate come installare una LFS)!!
  • Software VritualBox, con Extention Pack, per oSX già installato.

Non serve altro, tutto qui: basta che questi quattro requisiti siano soddisfatti e siete pronti a partire per la vostra installazione.

Chiarisco una cosa prima di proseguire: alla fine della procedura vi troverete in questa situazione:

  1. Avrete ancora il vostro Mac con il vostro oSX, cosi come era prima della procedura: sul vostro Mac nulla sarà cambiato, tranne il boot Loader;
  2. Avrete un disco esterno, o una chiavetta USB che sia, con a bordo tutta la vostra installazione fresca e fumante, pronta ad essere avviata usando il tasto ALT durante un normale reboot. (Di questa cosa parleremo più a fondo verso la fine del documento); quindi? Partiamo !!

Primo step.

Questa è una cosa importante: se avete già installato VirtualBox, assicuratevi di avere l’ultima versione installata, altrimenti rischierete di avere problemi. Se invece la state installando da zero, il problema non si pone, visto che quando la scaricherete da questo link avrete l’ultima versione per forza di cose!!

Appena installato VirtualBox consiglio, per avere i driver anche per USB3 ed altre cosette, di installare anche il pacchetto che porta il nome Extention Pack. Lo trovate qualche riga più in basso da dove avete scaricato VirtualBox, per la precisione qui.

Una volta che avrete installato VirtualBox, basterà fare doppio click sull’Extention Pack affinché venga aperto automaticamente da VirtualBox stesso e provveda lui all’installazione.

Quindi ripeto: prima installare VirtualBox; ad installazione terminata installare poi, l’Extention Pack.


Secondo step.

Se il disco o la chiavetta sono vergini andate in Applicazioni–>Utility ed avviate Utilità Disco. Inizializzate il device su cui volete installare il vostro linux, e create una sola partizione, tanto poi la dovrete cancellare al momento dell’installazione; io l’ho partizionata con il file system MsDos; ripeto: tanto la cancelleremo una volta avviata l’installazione.


Terzo step.

Avviamo VirtualBox e creiamo una macchina virtuale specificando che sarà una macchina Linux del tipo che decidete voi. Quando vi chiederà che disco volete creare date sempre invio accettando le risposte di default. Al momento di specificare la dimensione del disco, date una dimensione che volete, tanto il disco virtuale nemmeno lo utilizzeremo. Fate attenzione a configurare la nuova macchina virtuale come se davvero la voleste installare come una macchina virtuale: memoria per la scheda grafica, scheda/e di rete sia LAN che wi-fi, mouse o tavoletta, io uso un trackball usb ed ho settato un normale mouse e funziona benissimo.

Quello che è fondamentale che sia configurato, pena il fallimento dell’installazione, è il tab delle porte: dovete specificare che sono attive le usb e se solo 2.0 o anche 3.0, altrimenti rischiate che al momento di avviarsi il kernel non veda più l’usb e addio caricamento della macchina linux appena installata!!!

Questo è lo snapshot della videata della configurazione della macchina temporanea che ho creato per installare la mia LinuxMint Mate su un disco esterno USB2 da 500GB:

Come vedete l’ho definita come una Ubuntu generica a 64bit, 2GB di ram, 4 processori, 128Mb di ram video, Accelerazione 3D abilitata; sul controller dischi ho il disco virtuale, che non useremo in realtà ripeto, il driver audio proposto di default, la scheda di rete che ho impostato come bridge sulla mia scheda di rete thunderbolt ed infine l’attivazione delle porte USB. Importantissimo: sulla seconda porta del controller disco, come cd, ho indicato il file ISO della mia distribuzione: se non la indicate, ovviamente non avrete nulla da installare !!


Quarto step.

Avviate la macchina virtuale appena creata: chiaramente lasciate partire il sistema in modalità live; una volta avviata la macchina, di solito, sul desktop comparirà una icona da cliccare per avviare l’installazione.

PRIMA di avviare l’installatore andate sul menù Dispositivi->USB di VirtualBox e selezionate l’unità, disco o chiavetta che sia, su cui volte installare linux. Nel mio caso era un disco da 500Gb. Questo passaggio serve a rendere visibile il disco, in questione, al sistema di installazione: se saltate questo passaggio, quando sarete nella fase di selezione del disco di destinazione per l’installazione di linux non vedrete il vostro disco/chiavetta e dovreste ricominciare tutto da capo.

Nota: Per fare si che il disco sia ‘visibile’ al vostro ambiente di installazione, non deve essere montato e disponibile per il Mac. Come sapete quando attaccate un disco esterno il sistema lo ‘monta’ automaticamente. Essendo già ‘montato’ VirtualBox ve lo elencherebbe, ma in grigetto impedendovi di selezionarlo; per cui prima di tentare di renderlo disponibile per VirtualBox, ricordatevi di smontarlo dal Mac cliccando sulla freccia a destra del nome del disco che compare in Finder:

Per chi non fosse pratico la freccia a cui mi riferisco è quella nel cerchio rosso.

Solo dopo aver cliccato quella freccia il disco scomparirà dalla lista dischi montati e diventerà utilizzabile da VirtualBox per la vostra installazione.


Quinto step.

A questo punto fate partire l’installatore e proseguite come in una normale installazione di linux. L’unica accortezza che dovrete avere saranno le seguenti due:

  1. al momento di scegliere come e dove installare la distribuzione, scegliete il disco giusto, mi raccomando: che non andiate a sovrascrivere il vostro disco Mac (di norma il disco Mac è /dev/sda) !!!
  2. Una volta scelto il disco decidete, come meglio vi trovate, se usufruire del partizionamento automatico da parte dell’installatore o se volete partizionarlo a mano.

Nota: Io, di norma, opto sempre per la seconda possibilità: in questo modo posso mettere l’area di swap in cima; la partizione di boot, che viene letta di norma solo all’avvio ed in caso di aggiornamento del kernel, in fondo; ed in mezzo una, o più, partizioni a seconda del tipo di installazione che volete fare: una partizione unica per tutto, partizioni separate per sistema e utenti utente (/home), una partizione per i dati da scambiare con altre macchine (/dati) e cosi via.

L’unica cosa fondamentale, pena la mancata partenza all’avvio, e ricordarsi di istruire l’installatore affinché installi il GRUB nella radice del disco usato per l’installazione.

Per esempio se usate il disco /dev/sdd con le varie partizioni (attenzione: di solito /dev/sda è il disco Mac per cui evitate di toccarlo!!), dovete specificare che GRUB va installato in /dev/sdd e non per esempio in /dev/sdd3 perché in quella partizione avete configurato /boot. Il loader DEVE stare nella radice del disco quindi, nel nostro esempio in /dev/sdd.

A questo punto proseguite con l’installazione sino alle fine. Vi verrà richiesto se volete proseguire a sperimentare il sistema in uso usufruendo del disco live o se volete riavviare per far partire il sistema appena installato: NON CLICCATE ‘RIAVVIA‘ !!!! Vi siete scordati che non abbiamo installato una macchina virtuale classica vero ??? 🙂

A questo punto resta da verificare se la nostra installazione sia andata a buon fine o meno, quindi:

  • spegnete (NON RIAVVIATE) la macchina virtuale;
  • uscite da VitualBox;
  • Uscite da altre eventuali applicazioni aperte;
  • controllate il volume del vostro Mac: se non è abbastanza alto da sentire il ‘boing’ al riavvio, non saremo in grado di capire quando far partire il nostro nuovo disco con linux;
  • riavviate il vostro Mac;
  • appena sentiamo il ‘boing’, premete e tenete premuto il tasto ALT (quello centrale dei tre in basso sulla tastiera). Io uso sempre quello di sinistra, ma presumo che sia indifferente la posizione del tasto ALT usato se destro o sinistro;
  • mantenete premuto il tasto ALT, (se sollevate il dito riavviate il Mac di nuovo!!!) fino a che compare la schermata di oSX per la selezione del disco da usare per l’avvio e se avete fatto tutto bene avrete tre dischi elencanti:
  • — — — -> un disco Mac;
  • — — — -> Un disco di Ripristino per emergenza Mac;
  • — — — -> et le voilà: il vostro disco Linux!!

Non cercate di usare il mouse in questa fase: ne oSX ne Linux avrebbero ancora caricato il rispettivo driver. Usate i tasti freccia per selezionare il terzo disco e premete invio e attendete: tempo qualche secondo, a seconda che usiate USB3 o USB2 e dalla anzianità del disco USB (si sa che per fare queste prove di solito usiamo i dischi più vecchi eh eh eh ) e il vostro linux comincerà a sciorinare sul monitor le classiche righe di caricamento del kernel ed infine la GUI del vostro DE scelto in fase di installazione.

Piccola nota: perché usare VirtualBox e non far partire direttamente il CD di installazione sempre con il sistema Avvio-> Boing -> Pressione tasto ALT ?

Perché cosi i driver video, audio, scheda di rete, scheda wi-fi saranno quelli di VirtualBox e di conseguenza caricati senza fare storie. Chiaro: non saranno il massimo se volete attrezzare una stazione da gioco, ma per un uso Desktop o per sviluppo software, vi garantisco che funziona perfettamente.

Ultima cosa, che dovreste aver già intuito: in questo modo, questa chicca di disco installato con i driver di VirtualBox, lo potete far partire su qualunque sistema Mac che abbia un età pari o più giovane del vostro; basterà usare sempre il sistema del tasto ALT dopo il ‘boing’ del (ri)avvio!!

E con questo è tutto!!!

Se vi serve qualche altra specifica, scrivetemi una nota privata e per quello che posso sarò lieto di rispondervi.

Buon divertimento !!


P.S.: se avete, per sbaglio, definito il volume in fase di partizionamento come MBR il sistema di scansione in fase di boot (boot -> boing -> tasto ALT) del Mac non rileverà il vostro disco. Vi restano due soluzioni a questo problema:

  • Ripetete l’intera procedura sopra descritta definendo il boot del disco come EFI;
  • oppure installare reFind, un boot loader che risolverà in un colpo solo tutti i problemi di rilevamento di qualunque sistema operativo in fase di boot del Mac.

Di reFind parlerò in un altro post.


Originally published at joevr.wordpress.com on September 22, 2016.


Nota sull’update:

In realtà le modifiche sono semplici refusi ed typo. Il vero motivo per la ripubblicazione sta nel fatto che non capivo perché, una volta pubblicato il post importandolo dal mio blog, non lo trovavo più in lista, ne in stats ne in stories.

Adesso ho capito il perché: quando si importa un pezzo da un blog, e penso anche da altre fonti, il pezzo viene datato con la data di creazione del pezzo originale. In questo specifico caso non trovavo più il pezzo nelle liste semplicemente perché risultava il più vecchio, per cui era in fondo alle liste stesse.

Imparata cosa nuova!! Vorrei solo capire se è possibile, in fase di importazione storia, modificare la data con cui apparirà su Medium; altrimenti faccio prima a fare un copia incolla così almeno mi risulta posizionato correttamente in ordine di tempo nelle liste :)


Al solito, se avete trovato interessante il post, cliccate sul cuoricino verde così che altri possano immaginare che l’articolo è interessante.