Linux su Mac mini

Indice

 
 

Di cosa si parla qui

Del più e del meno, di discorsi da bar, di come installare Linux su un Mac mini con processore Intel e cose di questo genere. Notate la differenza fra questo howto e quello di Fabrizio: lui vi insegna come installare Linux, MacOS X e Windows su un MacBook Pro, io vi racconto come io ho installato Linux e solo Linux su un Mac mini con processore Intel. I due howto non sono intercambiabili, ci sono cose da fare per avere solo Linux e ci sono altre cose diverse da fare per averli tutti e tre.

Se vi chiedete a cosa possa servire un Mac mini con solo Linux installato, allora leggete il suo howto e non il mio. Se invece vi chiedete per quale motivo uno dovrebbe prendere un Mac mini se vuole usare solo Linux, beh, un po' me lo chiedo anch'io, ma nel mio caso non è un computer mio e la scelta non l'ho fatta io...

La verità è che io ci dovevo fare un server piccolo, silenzioso ed economico.

 

Prerequisiti

Prima di iniziare è utile prepararsi quanto segue:

  • Almeno il primo CD (o DVD) di Debian GNU/Linux Etch i386. Io ho usato la snapshot del 9 ottobre 2006, versioni più recenti dovrebbero funzionare altrettanto bene.
  • Un Mac mini con processore Intel.
  • I dischi d'installazione di MacOS X (servono per installarlo temporaneamente)
  • Una connessione ad internet che passi dalla porta Ethernet del Mac mini.
  • Un po' di pazienza.
  • Un po' di voglia di digitare comandi (nulla di trascendentale per un sistemista, ma come dice la mia massima che trovate in homepage, nulla di tutto questo può essere definito difficile).
 

...e opzionalmente

  • Un CD con la versione Live di rEFIt. Io l'ho masterizzato da un Mac perché il tipo di immagine pare non essere ISO (come pubblicizzato sul sito) ma HFSplus e non sapevo se K3B l'avrebbe digerita nel modo corretto; magari sì, non lo so. Vi può servire come disco di rescue se sbagliate ad installare LILO.
 

Tre, due, uno, via!

No, un attimo... avete fatto il backup dei vostri dati? Siete disposti a perdere ogni cosa ci sia sul vostro hard disk? Avete capito che alla fine di tutto ciò MacOS X NON CI SARÀ PIÙ sul vostro Mac mini? Avete capito che, nel caso in cui abbiate Windows, anche lui verrà spazzato via? (questo non è necessariamente un male... quanto all'eliminazione di MacOS X... che dire, anche in quel caso io non mi sono particolarmente rattristato, anzi!)

Molto bene, allora partiamo.

Come prima cosa, scrivetevi lo schema delle partizioni che volete che il Mac abbia quando Linux sarà installato e funzionante. Inizialmente dovrete necessariamente avere almeno due partizioni separate, oltre a quella riservata per EFI (che non deve essere eliminata).

Questo per esempio è come io ho partizionato il disco da 60GB:

Numero partizione Tipo Note Dimensione
1 Riservata per EFI Non visibile da Disk Utility durante l'installazione di MacOS X 200Mb
2 Linux ext3 Durante l'installazione di MacOS X il tipo è GUID 5Gb
3 Linux reiserfs Durante l'installazione di MacOS X il tipo è GUID 50Gb
4 Linux swap Durante l'installazione di MacOS X il tipo è GUID 1Gb

Come vedete il totale delle dimensioni non fa 60Gb, ma chissà perché i dischi sono sempre meno capienti di quanto ci sia scritto sulla scatola...

Mettete il primo disco d'installazione di MacOS X nel lettore, spegnete il Mac, accendetelo tenendo premuto Alt (o C) e fatelo avviare dal lettore DVD.

Nota: se MacOS X ce l'avete già ed è già installato con almeno due partizioni separate, ed il partizionamento che c'è vi va bene anche per quando ci sarà Linux, allora non avete bisogno di reinstallare MacOS X.


Nota: non so se esistano dei tools per ridimensionare le partizioni su MacOS X (nel caso non si sia capito, non sono un utente MacOS X). Se esistono e non fanno troppo casino sulla GPT può darsi che siano utilizzabili come alternativa alla reinstallazione del sistema.

Durante l'installazione di MacOS X, partizionate il disco nel modo che avete deciso.

A sistema installato, scaricate ed installate rEFIt. Purtroppo non potete seguire le istruzioni sul sito, per il semplice fatto che il caso che ci interessa qui, ovvero l'installazione all'interno della partizione EFI, sul sito non è documentato.

 

Installazione di rEFIt

La documentazione in inglese su come si installa rEFIt nella partizione EFI la trovate qui. Riassumo qui in italiano le parti che interessano ai fini di questo howto.

 

Traduzione

 

Installare rEFIt nella partizione di sistema EFI nascosta.

Per installare rEFIt nella partizione di sistema EFI nascosta, segui questi semplici passi che ho raccolto da un messaggio nel blog personale di Lincoln Ramsay.

Dall'applicazione Terminal oppure da un prompt dei comandi, esegui i seguenti comandi:

$ sudo mkdir /efi

Questo creerà il mount point per la partizione EFI

$ sudo mount -t msdos /dev/disk0s1 /efi

Questo comando monterà la partizione di sistema EFI (normalmente nascosta da MacOS X) sul mount point /efi. La partizione EFI è sostanzialmente una partizione FAT32 da 200MB, che di default è vuota. N.B.: Per favore considera che la partizione di sistema EFI è normalmente la prima partizione sull'hard disk interno, che normalmente è /dev/disk0s1, ma le cose potrebbero stare in modo diverso sul tuo sistema (ndt: al 99,99% anche nel tuo caso è tutto come descritto qui).

open /efi

Questo aprirà la cartella /efi in Finder. Ora scarica rEFIt e copia i contenuti della cartella efi (ndt: quella scaricata) dentro /efi (ndt: la finestra di Finder che hai aperto prima).

Alla fine dovresti avere le seguenti cartelle sul tuo disco:

/efi/efi/refit
/efi/efi/tools

Adesso useremo "bless" sulla partizione di sistema EFI:

sudo
bless --mount /efi --setBoot --file /efi/efi/refit/refit.efi --labelfile /efi/efi/refit/refit.vollabel

Credo che questo comando segni la partizione montata su /efi come partizione da cui è possibile fare il boot, usi /efi/efi/refit/refit.efi come bootloader e poi cambi qualche impostazione di OpenFirmware per fare il boot da quella partizione (ndt: il comando "bless" modifica l'OpenFirmware solo sui Mac che hanno un OpenFirmware, che non è il caso del Mac con processore Intel, dove l'OpenFirmware non esiste).

 

Installazione di Debian

Ora siete pronti ad installare Debian. Inserite il primo CD o DVD, riavviate il Mac, tenete premuto C all'avvio ed installate Debian sulla partizione che inizialmente avevate pensato per il sistema (fosse anche quella dove attualmente c'è MacOS X va bene lo stesso, lo potete già cancellare).

Quando arrivate all'installazione di Grub, questa fallirà riportandovi al menù principale del Debian Installer. Niente panico, era previsto. Dal menù principale scegliete "Avvia una shell".

Come prima cosa dobbiamo installare rEFIt anche sulla partizione con Debian. Notate però che il pacchetto rEFIt per Debian non avrebbe potuto essere usato al posto di quello per MacOS X, infatti rEFIt per MacOS X basa il suo funzionamento sul comando "bless", che in GNU/Linux non esiste. Non pensate quindi di poter saltare il passo precedente, l'ho già pensato io a suo tempo e son rimasto deluso...

Tuttavia il pacchetto rEFIt per Debian contiene il comando gptsync, che ci permette di sincronizzare la GPT (tabella delle partizioni secondo EFI) con l'MBR (Master Boot Record, ovvero il primo settore del disco dove è memorizzato il vecchio formato della stessa tabella). È indispensabile eseguire questo passo perché LILO non sa cosa sia la GPT, mentre sa bene cosa sia il Master Boot Record. L'alternativa pulita sarebbe installare elilo invece di LILO, ma chissà perché elilo non riesce a fare il boot del Mac mini, almeno nel momento in cui scrivo questo howto.

Per installare refit sulla partizione con il sistema Debian appena installato scrivete nella shell:

cd /target
chroot .
bash
export TERM=vt100

Spiegazione: il primo comando vi mette nella partizione con Debian appena installato. Il secondo dice che quella è la directory principale da lì in avanti. Il terzo avvia una shell un attimino più cristiana di BusyBox ed il quarto inganna il sistema sulle capacità del vostro terminale, il che porterà alcuni comandi a visualizzare male (roba da niene, "vi" e simili) ma almeno whiptail ed altri non si rifiuteranno di funzionare.

Nota aggiunta il 18 gennaio 2007: è possibile che il valore giusto per la variabile TERM sia linux e che quindi il comando da digitare sia
 export TERM=linux

tuttavia non l'ho provato (non ho più il Mac mini sotto mano per provarlo e comunque non avrei voglia di ripetere l'installazione).

Fatto questo siete sul vostro sistema Debian installato e funzionante, ma non potete fare il reboot fino a quando non avete installato anche LILO.

Se durante l'installazione avete scelto di non usare un mirror in rete, come ho fatto io per fare più in fretta visto il numero di prove che ho dovuto fare, ora dovete aggiungere il mirror ad /etc/apt/sources.list:

echo "deb http://ftp.it.debian.org/debian etch main contrib" >> /etc/apt/sources.list
apt-get update

Se invece durante l'installazione di Debian avete scelto di usare un mirror, questi due comandi non sono necessari.

Ora installiamo rEFIt:

apt-get install refit

A questo punto è necessario sincronizzare la GPT con l'MBR.

gptsync /dev/sda

Questo comando mostrerà l'elenco delle partizioni secondo la GPT attuale, l'elenco delle partizioni secondo l'MBR attuale e la nuova tavola partizioni che andrebbe a scrivere nell'MBR. Digitate "y" per confermare l'operazione di sincronizzazione.

Come forse avrete notato dall'output di gptsync, ora nell'MBR c'è scritto che la partizione su cui avete messo Linux (/dev/sda2 nel mio caso) è una partizione FAT32. Questo ovviamente non è vero, usate fdisk per correggerlo (magari non serve, ma non si sa mai):

fdisk /dev/sda
t
2
83
w

Ora possiamo installare LILO.

apt-get install lilo

Questo comando scarica LILO ed installa nella partizione le utility necessarie ad installarlo effettivamente all'inizio della partizione. Probabilmente apt cercherà anche di installarlo all'inizio della partizione dopo averlo scaricato e probabilmente fallirà. Nel caso, editate il file /etc/lilo.conf con "vi" o "nano" e fatelo diventare come quello che trovate sull'howto di Fabrizio.

vi /etc/lilo.conf

Se il settaggio della variabile TERM rendesse "vi" o "nano" impossibili da usare, provate a toglierlo per vedere se la situazione migliora:

unset TERM
vi /etc/lilo.conf
Se qualcuno sa quale sia il valore corretto di TERM da settare ed ha voglia di dirmelo, lo aggiungerò qui.
Vedere nota sopra per variabile TERM

Adesso possiamo effettivamente installare LILO nel Master Boot Record:

lilo -P ignore

Et voilà, semplice no?

exit
exit
exit

Il primo esce dalla bash, il secondo dal chroot, il terzo da BusyBox e vi riporta al menù di installazione di Debian. Qui potete scelgliere "Terminare l'installazione" e "Continuare senza un bootloader".

Ora Debian è installato e rEFIt può avviarlo senza bisogno di MacOS X. Potete tranquillamente eliminare la partizione di MacOS X e riutillizzarla per Linux.

 

Usare il Mac Mini come server

Se, come nel mio caso, avete installato Linux per usare il Mac Mini come server, potreste avere un problema hardware. Immagino che nessuno voglia un server Linux che necessita di un monitor per funzionare, ma alcune versioni di firmware del Mac mini (tristemente quelle più aggiornate nel momento in cui scrivo) hanno bisogno di "sentire" un monitor per fare il boot.

La soluzione è ingannare il firmware in modo da fargli credere che un monitor ci sia. Tutto ciò che vi serve è una resistenza da 75 Ohm (la teoria dice così, poi io ho usato una resistenza artigianale da 82 Ohm circa ed ha funzionato altrettanto bene).

Quel che dovete fare è ponticellare i contatti C2 e C5 dell'uscita DVI con la resistenza. Il C2 è il green analogico, il C5 è il ground analogico. Guardando il connettore DVI, il C2 è il buco più in alto a destra, mentre il C5 è la fessura a croce che separa C2 dagli altri 3 buchi simili. L'immagine qui sotto vi mostra quali sono i contatti C2 e C5.

Immagine:dvi.png

Se vi capita di poter mettere mano a qualche schedino di elettrodomestici non più funzionanti, le resistenze da 75 Ohm sono quelle con una striscia viola, una verde ed una nera (esattamente in quest'ordine, non potete sbagliarvi in quanto la nera non è mai la prima striscia, quindi dovete iniziare a guardare le strisce partendo dalla viola). Se invece potete affrontare la spesa di qualche centesimo recatevi al negozio di elettronica.

Non avete bisogno di saldare la resistenza al Mac Mini, vi basta infilare le due estremità nei buchi C2 e C5. Un pezzo di scotch per tenere fermo il tutto farà il resto (rovinando l'estetica del Mac Mini, certo, ma se tanto poi lo buttate nel rack appeso al suo cavo di rete non fa molta differenza, giusto?).

 

Collegamenti esterni

Linux sul Mac mini in inglese, anche per Mac mini con processore G4