Installer Kali Linux sur un Macbook Pro 5,1 (15-inch, Late 2008)

{9 Comments}

DSC_0004Dans cet article je vais décrire les passages qui m’ont permis d’installer Kali Linux amd64 en natif sur un Mac Book Pro doté d’une CPU intel Core 2 Duo 2.40GHz (P8600 « Penryn ») 4 GB de RAM, 500GB de disque dur et NVIDIA GeForce 9600M GT & GeForce 9400M comme cartes graphiques

gnome

Cette machine dont les caractéristiques sont désormais juste suffisantes pour faire tourner (péniblement) la dernière mouture de OSX est en revanche plus que suffisante pour faire tourner confortablement un Linux.

desktop

J’ai choisi Kali Linux pour sa spécialisation orientée pentest, administration systèmes et réseau, néanmoins, étant cette distribution Linux basée sur Debian, cette procédure devrait aussi permettre installation d’autres versions dérivées comme Ubuntu ou la magnifique ElementaryOS.

Les défis:

Dans la pratique deux obstacles s’interposent à cette réalisation

1) Le premier lié au caractère spécifique du micrologiciel EFI qui équipe tous les produits de la pomme. En effet ce système ne reconnait pas les « démarreurs » et les partitions Linux.

2) L’autre obstacle dépend du matériel et notamment la carte graphique qui est prise en charge de manière incorrecte par l’assistant d’installation par défaut.

En effet, si désormais pratiquement toutes les composantes sont reconnues et prises en charge correctement par Debian (y compris les touches fonctions), les cartes graphiques restent notoirement problématiques.

Solutions utilisées:

Afin de contourner les deux obstacles précédemment illustrés, j’ai utilisé les solutions suivantes:

1) Un disque dur externe installé avec OSX 10.9 et  sur le quelle j’ai déployé la solution rEFInd

Ce gestionnaire de démarrage, qui s’installe au tout début du disque dur, étant reconnu par l’EFI Apple permet de bypasser la problématique du firmware EFI précédemment évoquée.

BootEn effet, ce dernier est reconnu par le « gestionnaire de démarrage » des Macs comme une partition bootable portant le nom « EFI Boot » donnant ainsi accès au système de choix du disque de démarrage rEFInd qui, lui, est capable de reconnaitre des disques/USB d’installation Linux (et dérivés)

refind

Les deux premières icônes avec le « badge disque dur » indiquent les systèmes installés en local sur le disque dur de la machine. (Kali dans mon cas + partition boot en FAT)

Les quatre portant le « badge USB » montrent les systèmes connectés par câble (deux OSX + 1 image « Bootable utilitieas » sur mon disque dur externe et le disque d’installation Kali Linux fourni par mon smartphone)

Autre solution utilisée dans cette première phase de démarrage/installation consiste dans mon smartphone Andorid équipé du formidable logiciel DriveDroid qui permet de fournir, comme ferait une clé USB préparée ad hoc, des images iso de démarrage pour l’installation.

DriveDroidDans mon cas j’ai utilisé les images de systèmes suivants:

Kali-linux-1.0.6-amd64-iso –> Pour installer Kali Linux

(UPDATE 03/2015 version actuelle testée kali-linux-1.1.0a-amd64.iso)

gparted Live  –> Pour le partitionnement initial du disque dur de la machine

Supergrub –> Ce petit live cd permets de choisir et éditer le fichier de boot Linux (correction de la configuration par défaut installé par Kali)

 

 

 

2) Pour ce qui concerne le pilote graphique: le problème se situe au niveau du pilote non propriétaire proposé par défaut en présence de la carte graphique Nvidia

En effet, en cohérence avec la vocation libriste de Debian, le système d’installation propose le pilote libre « Nouveau » or , hélas, ce dernier ne gère pas correctement nos cartes graphiques, ce qui provoque le plantage de l’environnement de bureau.

Pour remédier à cette défaillance, il faut, donc , utiliser le pilote propriétaire mis à disposition par NVIDIA sur le site dédié : http://www.geforce.com/drivers

En sachant que nos cartes graphiques sont la GeForce 9600M GT et la GeForce 9400M  appartenant, donc, à la série 9M et que notre CPU est bien en 64-bit:

nvidiaNous obtenons, par le moteur de recherche du site, la toute dernière version du pilote que nous utiliserons dans la dernière partie de l’installation.

 

 

Procédure utilisée:

  • Démarrage de l’utilitaire gparted Live à partir du rEFInd présent sur le disque externe OSX 10.9  à fin de procéder au partitionnement du disque dur interne du MacBook Pro

NB: cette opération aurait pu être accomplie directement pas l’installeur Kali: j’ai préféré utiliser GParted parce que je trouve cet outil bien plus efficace et pour le côté sombre de la force…

NB2: 8.38 de Swap c’est un « poil » overkill… mais je suis old-school 🙂

gpartedJ’ai créée une petite (200Mo) partition en FAT32 chargée d’héberger la solution de démarrage rEFInd locale

Cette dernière permet d’optimiser la séquence de boot de notre système: Apple EFI –> rEFInd (sur sda1) –> GRUB Linux (sur sda2)

  •  Une fois le partitionnement terminé, redémarrer en utilisant le procédé décrit précédemment, sur l’image d’installation de Kali

À ce stade, il est important de choisir l’option d’installation simple (en mode textuelle) et pas graphique au vu des problèmes d’affichage précédemment évoqués.

kali_boot

Une fois l’installation terminée, j’ai redémarré sur l’utilitaire « Supergrub2 » à fin de contrôler la configuration actuelle , désactiver le pilote Nouveau installé par le système lors de la détection matérielle du logiciel d’installation et démarrer sur la bonne partition.

 

Opération réalisée par l’option d’édition (e) fournie par ce même utilitaire pour la session en cours:

supergrub1

supergrub

Une fois le système chargé, avec ma belle session root à disposition,  j’ai pu rendre le changement définitif par le biais de l’édition de ce même fichier de configuration grub

root@kali:~#  sed 's/quiet/quiet nouveau.modeset=0/g' -i /etc/default/grub
root@kali:~#  update-grub

J’ en ai profité pour le nettoyer définitivement avec le commande:

sudo apt-get --purge remove xserver-xorg-video-nouveau

Par la suite, afin de pouvoir démarrer automatiquement mon Kali sans devoir m’appuyer sur le disque OSX/rEFInd ou Supergrub2 externe, j’ai procédé aux manipulations suivantes:

– création d’un dossier specifique à mon « démarreur » rEFInd

mkdir /boot/efi

– montage de la partition FAT32 dans ce dossier

mount /dev/sda1 /boot/efi

– Téléchargement de l’installeur rEFInd

wget http://sourceforge.net/projects/refind/files/0.7.8/refind-bin-0.7.8.zip/download -O refind-bin-0.7.8.zip

– installation rEFInd par le biais du script install.sh contenu dans le paquet

unzip refind-bin-0.7.8.zip
cd refind-bin-0.7.8.zip/
./install.sh

et la magie opère

Installing rEFInd on Linux....
ESP was found at /boot/efi using vfat
Copied rEFInd binary file refind_x64.efi
Copying sample configuration file as refind.conf; edit this file to configure
rEFInd.
Installation has completed successfully.

Mon « démarreur » est prêt il ne me reste qu’optimiser en effaçant la version 32bit ici inutile

rm /boot/efi/EFI/BOOT/bootia32.efi

et le configurer

nano /boot/efi/EFI/BOOT/refind.conf 

Pour réduire le temps d’attente avant démarrage sur la partition par défaut

# Timeout in seconds for the main menu screen. Setting the timeout to 0
# disables automatic booting (i.e., no timeout).
#
timeout 5

et appliquer un joli thème minimaliste à fond blanc qui s’intègre parfaitement au graphisme de démarrage de OSX:

en ajoutant la ligne

include minimal-theme/theme.conf

dans ce même fichier après l’avoir téléchargé ici:

cd /boot/efi/EFI/BOOT/
wget http://github.com/EvanPurkhiser/rEFInd-minimal/archive/master.zip
mv rEFInd-minimal-master minimal-theme

Source: https://github.com/EvanPurkhiser/rEFInd-minimal

  • Le moment est venu d’installer le pilote graphique proprietaire pour nos cartes Nvidia.

On prépare le terrain en installant les outils de compilation:

sudo apt-get install linux-headers-$(uname -r) build-essential

et on installe:

wget us.download.nvidia.com/XFree86/Linux-x86_64/340.76/NVIDIA-Linux-x86_64-340.76.run
chmod 777 NVIDIA-Linux-x86_64-340.76.run 
./NVIDIA-Linux-x86_64-340.76.run

(pour l’adresse de téléchargement, je me suis référé au lien du bouton « Download » du moteur de recherche présent sur le site geforce.com)

Il suffit de suivre les indications à l’écran en confirmant les options par défaut pour amener l’installation à bon port.

Un petit reboot …et hop une belle fenêtre de login nous permet d’accéder à notre bureau Gnome à la sauce piquante Kali

bureau
Version testé Kali Linux 1.1.0 ( 3.18.0-kalil-amd64 ) + Nvidia Driver 340.76

 

 

 


 

 

Bonus : J’ai testé cette méthode d’installation avec succès sur un xServe (Early 2009) avec Suse Linux Enterprise Server – Recyclage Power!! –

Capture d’écran 2015-04-01 à 16.52.08

Pas besoin des pilotes graphiques :-), il faut juste choisir Grub à la place de ELILO via l’utilitaire de configuration YaST2

YaST2

 

9 Comments…

 Share your views
  1. Hello again.
    Donc je disais sur twitter que j’ai fais une reinstall tout neuf.

    -Nouveau drivers désactivé, et grub mis a jour. Je n’ai pas encore installer les drivers NVIDIA (ca c’est un autre soucis pour après)

    -Installation de rEFInd réussi, sans rien changer sauf le temps d’attente.

    -Redemarrage sur HDD, rEFInd OK, Kali -> Ecran noir « No bootable device »

    -Redemarrage rEFInd OK, SuperGrub2 (sur CD) OK, Kali OK

    help…

  2. Salut,
    Le fait que tu puisses démarrer via le CD et pas par le disque dur semble indiquer que la mise en place de Grub ne s’est pas faite correctement lors de la phase finale d’installation de Kali
    Si tu as réalisé le même partitionnement du disque dur que moi, une fois que t’as pu démarrer sur Kali essaye de (re)installer Grub

    apt-get install grub-efi-amd64
    grub-install
    sed 's/quiet/quiet nouveau.modeset=0/g' -i /etc/default/grub
    update-grub

    le fait d’installer Grub et le mettre à jour devrais résoudre le problème au prochaine rédemarrage.

  3. Bonsoir,
    Ça ne marche toujour pas 🙁

    Entre ce matin et lire ta réponse j’ai réussi a installer les drivers NVIDIA (via le guide sur BlackMORE Ops) et enlever le soucis qui est nouveau.

    J’ai suivi tes instruction pour reinstaller grub (sans la ligne sed) sans soucis, mais « No bootable device » again.

    Pas si c’est une question de configuration… Ou de rEFInd peut-etre?

  4. La seule difference entre ton setup est le mien c’est que j’ai créé une partion fat32 avec gparted et après j’ai utiliser l’installeur Kali pour partitioner l’espace libre automatiquement (mais hier j’ai fais a ta méthode et j’ai eu le mème résulta)

  5. Bingo!

    J’ai reinstaller GRUB suivi d’une reinstallation de rEFInd et ça marche!

    Maintenant j’attaque un soucis de WIFI et la Freebox…

    Merci pour ton aide et ton guide.

  6. Bien joué! content de savoir que ça marche à présent: profite bien de ton « nouveau » Macbook version Kali 🙂

  7. Question a la c…

    Comment je fais pour désativer le IR Receiver du MBP? On utilise mon iMac comme TV et la telecommande me fait des misères…
    Je cherche mais ne trouve pas une solution.

  8. je pense qu’une solution pourrait être de blacklister le pilote du ir receiver,
    ou empecher son activation en desactivant le bus comme indiqué ici:
    http://ubuntuforums.org/showthread.php?t=2159964

    Dans mon macbook pro le bus id est le
    /sys/bus/usb/devices/3-5/product IR Receiver
    et si je envoie
    echo "3-5" > /sys/bus/usb/drivers/usb/unbind
    il est deconnecté et plus visible dans la liste des « input devices »

    (echo "3-5" > /sys/bus/usb/drivers/usb/bind pour le réactiver)

  9. Ça marche! Merci encore.

Leave a Comment

Your email address will not be published.

*

{ 2 Trackbacks }

  1. Kali Linux 2.0 sur un Macbook (Pingback)
  2. Installation de Kali Linux 2016.2 (rolling edition release) sur un MacBook Pro 5,1 (Pingback)