installare Debian 9 su Macbook 13″ (fine 2009)

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 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 motivo di 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 (voce headphone)

Isight (webcam)
Funziona dall’inizio senza alcun problema.
puoi 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

Pubblicato in Gnu-Linux, Mac Os | Lascia un commento

Linux, un avvio piu veloce rimuovendo servizi lenti/inutili

Oggi, dopo l’aggiornamento a Debian Stretch ho dato un’occhiata ai servizi caricati e ai tempi di avvio, con il comando systemd-analyze*

Guardando il risultato, escludendo i tempi (4 secondi e mezzo) del kernel, il sistema ha impiegato 1 minuto e 42 secondi per il boot; Ok,  non ho un disco SSD, ci sono un sacco di servizi come Tor, virtualbox , Kde, etc; ma il tempo di avvio sembra davvero troppo lungo.
Meglio controllare se c’è un servizio particolarmente lento o se semplicemente ce ne sono tanti/troppi, eseguendo systemd-analyze blame* 

Come possiamo vedere, il risultato mostra che  racoon.service impiega ben 1 minuto e 32 secondi per avviarsi: questo servizio (ipsec) è, per le mie esigenze, inutile, quindi decido di disabilitarla all’avvio con il comando: Systemctl disable racoon.service
A questo punto ho riavviato il sistema, e in seguito ho eseguito ancora il comando System-analyze, ottenendo il seguente risultato: 30 secondi

Bene, abbiamo tagliato 1 minuto 17 secondi passando da 1 minuto e 47 a.. 30 secondi..
Probabilmente questo non è un caso standard, ma con questo esempio si puo facilmente capire l’impatto che anche un solo servizio puo avere sul tempo di avvio.
In generale, fare un controllo per verificare e identificare quali servizi impiegano tanto tempo (e  sopratutto se ci servono) e’ una cosa che come in questo caso risulta davvero utile.

*Nonostante i miei screenshot, i comandi systemd-analyze e systemd-analyze blame possono essere eseguiti senza privilegi di root.

Pubblicato in Gnu-Linux | Lascia un commento

Mamp: web server (e non solo) in locale con pochi click

Avevo bisogno di un web server in locale per fare qualche esperimento in .php  senza quindi dover ogni volta trasferire i file sul mio sito e fare gli esperimenti da remoto:
Non avendo troppo tempo per configurare Apache /php ho cercato qualcosa di gia pronto e che funzionasse in pochi click: MAMP
dove:
Mac OS X che è il sistema operativo; Apache come web server , MySQL – il sistema per l’amministrazione di database; mentre la P sta per  PHP, Python o Perl, (linguaggi per lo sviluppo di applicazioni web)

MAMP in pratica è l’equivalente della piattaforma LAMP presente sui server Linux;
L’installazione è molto banale, al termine avremo :
, scegliamo MAMP e clicchiamo mamp
una volta aperto, è sufficiente cliccare sull’icona start startmamp ed avremo gia tutto funzionante
mampconsole_mini

Da qui prefmamps  è possibile cambiare i settaggi di Mamp:

Sezione Start/Stop:
Puoi scegliere se avviare automaticamente il server con l’avvio di Mamp, se far aprire la pagina di start, se spegnere i servizi con la chiusura di Mamp.
startstopmamp

Sezione Ports:
Da qui puoi modificare il numero delle porte: quelle di  default sono: Apache : 8888 – Nginx : 7888- MySQL : 8889, ma nulla vieta ad esempio di utilizzare la classica 80 per Apache ( a meno che sia gia utilizzata da qualche altro servizio sulla tua macchina)
portsettingsmamp
quindi di default il sito avrà questo indirizzo : http://localhost:8888 , se invece metti la porta 80 sarà su http://localhost

Sezione Php
Qui puoi scegliere la versione di Php da utilizzare
phpmamp
Urls
phpInfo
: http://localhost:8888/MAMP/index.php?language=Italian&page=phpinfo
phpMyAdmin : http://localhost:8888/phpMyAdmin/?lang=it

Sezione Web Server:
Da qui puoi scegliere tra Apache e Nginx, e puoi modificare la cartella root (quella dove inserire il sito web)
webservermamp

Sezione MySql:
Visualizza l’attuale versione di Mysql
mysqlmamps

Pubblicato in Tech news - tutorials | Lascia un commento

FM16 – calcolatore di “stelle” per collaboratori

Game time 🙂

Gioco spesso a FM16  e ho perso tanto tempo nella ricerca dei migliori collaboratori tecnici (4 / 5 stelle)
Recentemente ho trovato da qualche parte alcune formule per calcolare, tramite i parametri elencati, il numero di “stelle” e quindi la qualità dei collaboratori .
Dato che non avevo voglia di calcolare a mano e nemmeno con la calcolatrice ho creato un file excel per calcolare tutto comodamente
Quindi, nel gioco selezioniamo il collaboratore da controllare, ed inseriamo i suoi parametri nel file; in questo modo conosceremo il numero di stelle per ogni categoria di allenamento , ovviamente puoi inserire tutti i parametri o solo quelli che ti interessano.
fm16italo puoi scaricare da qui , ci sono due versioni, in inglese ed in italiano
FM16 Coach calculator

Pubblicato in Games | Lascia un commento