Decio (beta)

Decio (beta)

Rambling notes from a sherpa sysadmin security informed tourist

01 Apr 2015

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

Dans 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

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.

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:

  • 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.

En 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)

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.

Dans 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)

  • 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:

Nous 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 🙂

J’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.

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:

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

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

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!! –

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