installare Debian 9 su Macbook 13″ (fine 2009) in dual boot

Ecco come ho installato Debian 9 sul mio vecchio Macbook 6,1 (mid 2009) in dual boot.
Premessa: Quando davanti ad un comando c’e #, si intende che debba essere eseguito da root o con sudo

Hardware:
scheda video NVIDIA  GeForce 9400M with 256 MB of SDRAM condivisa
Schermo 13″
Scheda Wireless  Broadcom BCM4360
Disco 256 Gb Serial ATA (5400 RPM)  
Ram 8 gb SODIMM 1600MHz
Controller Wi-fi  Broadcom Corporation BCM43224 802.11a/b/g/n (rev 01)
Controller Ethernet NVIDIA Corporation MCP79 Ethernet (rev b1)
porte USB 2.0 (2x)
Audio in/out  NVIDIA Corporation MCP79 High Definition Audio (rev b1)
Mini DisplayPort con supporto a monitor esterno  2560×1600

Procedura
1) In Mac Osx Da utility disco ho ridotto la partizione e lasciato dello spazio libero
2) Ho scaricato un immagine  debian (netinst) e l’ho copiata in una usb pen (ho usato unebootin)
3) ho collegato il cavo di rete (il wifi non funzionerà da subito)
4)Ho inserito la usb pen e ho fatto avviato il mac premendo il tasto Opzione (ALT)
5) Ho installato Debian – ho formattato lo spazio libero in ext4 , ho scelto Mate come display manager perchè è leggero (kde sarebbe stato improponibile) – , come login manager viene selezionato automaticamente LightDM
Al riavvio, grub sovrascriverà l’MBR quindi partirà solo Debian (per ora)

Sistemazione del reboot
Lo Spegnimento, la sospensione e l’ibernazione funzionano senza problemi, ma per poter fare il reboot occorre effettuare una modifica al grub
# /nano/etc/default/grub
e aggiungere  la voce “reboot=pci
se ad esempio abbiamo
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”, diventerà
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash reboot=pci“, quindi ,salviamo ,digitiamo il comando update-grub, spegniamo e riaccendiamo il mac.
A questo punto il reboot dovrebbe funzionare.

Installazione di Refind 
Dato che ho ancora Mac Osx nell’altra partizione, ho bisogno di installare il boot managerRefind, che consentirà di scegliere all’avvio tra Mac e Debian; il pacchetto si trova nel repository di Debian, quindi:
# apt-get install refind
Dopo l’installazione, all’avvio appariranno, oltre all’icona Mac Osx, 2 (?) icone Debian, che caricheranno rispettivamente initrd(initial ramdisk)  e vmlinuz (il kernel)
Tralasciando la spiegazione di initrd e vmlinux (non è lo scopo dell’articolo), la cosa importante da sapere è che se avviamo con initrd utilizzeremo grub, mentre se avviamo con il kernel, grub non verrà utilizzato.
/boot/initrd.img-4.9.0.3-amd64 –> usa grub
/boot/vmlinuz-4.9.03-amd64 –> parte senza usare grub
Dato che, come spiegato sopra, il sistema riesce a riavviare grazie alla modifica fatta su grub (reboot=pci), è evidente che dobbiamo avviare l’immagine che utilizza grub, initrd (a meno che vogliate riavviare il macbook spegnendo e riaccendendolo con il pulsante 🙂
La sola opzione è utilizzare initrd.img, quindi modifichiamo la configurazione di refind per NON fare apparire vmlinuz nel menu di avvio:
# nano /boot/efi/EFI/refind/refind.conf
e aggiungiamo
dont_scan_files vmlinuz-4.9.0-3-amd64
scan_all_linux_kernels false
Salva ed esci.

Video drivers
Non amo i driver noveau, a mio parere gli Nvidia funzionano meglio quindi non vedo perché non utilizzarli; inoltre avevo bisogno del supporto per monitor esterni, che con i driver Nvidia funziona perfettamente: Ho quindi installato gli nvidia-drivers (340) e anche gli nvidia-settings (opzionale ma fortemente raccomandato)
# apt-get install nvidia-legacy-340xx-driver nvidia-settings-legacy-340xx
Nvidia-settings-legacy consente di avere una GUI con tutti i settaggi, utile sopratutto se usiamo un monitor esterno (ma non solo, come vedremo dopo).
Al riavvio apparirà il logo nvidia poco prima del login-manager (si puo ovviamente togliere).
Nb: ho provato ad installare drivers successivi alla versione 340, ma non hanno funzionato, quindi non perdete tempo :-).

Wi-fi
al primo avvio la scheda Wi-fi non viene riconosciuta
installiamo i driver broadcom
# apt-get install linux-image-$(uname -r|sed ‘s,[^-]*-[^-]*-,,’) linux-headers-$(uname -r|sed ‘s,[^-]*-[^-]*-,,’) broadcom-sta-dkms
poi evitiamo che vengano caricati i moduli di altre schede wifi che andrebbero in conflitto con il broadcom
# modprobe -r b44 b43 b43legacy ssb brcmsmac bcma
Viceversa facciamo in modo che il modulo wl venga caricato all’avvio
# modprobe wl
Adesso la Scheda wifi viene riconosciuta

Audio
Funziona senza nessun problema dall’inizio,consiglio di installare alsamixer
La scheda audio Nvidia viene riconosciuta; controllando nelle impostazioni di alsamixer ho notato che era presente anche pulseaudio,
definita come scheda audio (oltre alla nvidia); ho quindi rimosso pulseaudio
# apt-get remove pulseaudio
Dopo il riavvio la scheda predefinita sarà HDA Nvidia

Le cuffie di default sono a volume zero, con alsamixer le potete ovviamente attivare ed alzare il volume(voce headphone)

Isight (webcam)
Funziona dall’inizio senza alcun problema.
Consiglio di fare un primo check eseguendo dmesg | grep ISight da root o con sudo

Per vedere se funziona puoi anche installare cheese, e guvcview per cambiare i settaggi:
# apt-get install cheese guvcview

Opzionale ( isight-firmware-tools)
Questa parte è opzionale (se la webcam funziona, saltate questa parte)
Avendo a disposizione il driver Apple (nell’altra partizione), ho voluto provare ad installare il firmware della webcam con il tool isight-firmware-tools:
# apt-get install isight-firmware-tools
Invece di  indicare il percorso direttamente nel tool  ho prima copiato il file AppleUSBVideoSupport sulla Scrivania, (per evitare noiosi problemi di permission e anche perche così ha funzionato) , quindi ho eseguito il comando:
root@MacDebian:/home/fafa/Scrivania#
ift-extract -a /home/fafa/Scrivania/AppleUSBVideoSupport
risultato:
** Message: Found firmware signature at offset 0x1998.
** Message: Firmware extracted successfully in /lib/firmware/isight.fw
………………………………………….
** Message: Firmware patched successfully

A questo punto nella cartella /lib/firmware avremo il firmware isight.fw
Devo dire che non ho notato alcuna differenza , per cui , se la webcam funziona dall’inizio, evitate pure di installare isight-firmware-tools

pulsanti f1-f2 (regolazione luminosità)
Inizialmente non funzionavano, dopo vari tentativi ho risolto con inserimento in /etc/X11/xorg.conf della riga seguente, nella sezione Device:
Option “RegistryDwords” “EnableBrightnessControl=1”

se xorg.conf non è presente, puoi facilmente modificarlo/salvarlo attraverso il tool nvidia-settings : vai in X serves Display Configuration, in basso a destra clicca il pulsante “save to X configuration file”, ma prima di salvare clicca “show preview” ,  vai nella sezione Device, aggiungi Option “RegistryDwords” “EnableBrightnessControl=1”
Dopo il riavvio i pulsanti funzioneranno senza problemi , tuttavia al riavvio il livello di illuminazione non verrà salvato – per mantenerlo bisogna aggiungere una stringa in grub
# /nano/etc/default/grub
poi, nella sezione GRUB_CMDLINE_LINUX_DEFAULT ho aggiunto
acpi_backlight=vendor 
se avete effettuato anche la modifica spiegata nella sezione “Sistemazione del reboot” dovreste avere una situazione come questa

ps. io ho tolto anche la voce quiet-splash perche mi interessa vedere il caricamento dei servizi, ovviamente potete decidere di lasciare questa voce.

Pulsanti f10-f12 (regolazione volume)
Funzionano dall’inizio senza problemi.

Bluetooth
sembra funzionare dall’inizio , Ho scritto “sembra” perche non ho fatto dei test con altre periferiche bluetooth.
Per Default è abilitato , per disabilitarlo
nano /etc/bluetooth/main.conf
cerca una riga chiamata “Initially powered =true” e inserisci false al posto di true
spegni il laptop, ed al riavvio il bluetooth dovrebbe essere spento.

Risultato finale (click sull’immagine per ingrandire)
Debian 9 stretch + Mate+Docky su macbook 6.1

Questa voce è stata pubblicata in Gnu-Linux, Mac Os. Contrassegna il permalink.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *