Suite à la présentation du Raspberry Pi, ce 2eme article est un un tutoriel pour l’installation de la distribution Raspbian sur le Raspi
La préparation de la carte SD bootable avec la méthode décrite dans cette article utilise un outil sous UNIX, si vous êtes sous windows, la cette étape nécessitera soit l’utilisation d’un Live CD Linux soit l’utilisation d’un outil windows de type Win32DiskImager, mais je ne traiterai pas l’utilisation d’outils windows, <insert search engine name here> est votre ami
Prérequis :
– Un PC sous un OS UNIX (OS X inclus)
– Le Raspi, forcément
– Un clavier
– Une carte SD de capacité minimale de 2Go, une carte de 4 ou 8 Go est quand même conseillée pour un minimum de place libre, l’image de Raspbian prend presque 2 Go
En option (pour mode graphique)
– Un écran avec prise HDMI ou DVI-D
– Une souris
– Un hub USB si vous avez le modèle A du Raspi
Récupérez l’ISO de Raspbian sur la page de téléchargement du site de la fondation Raspberry Pi, et la décompresser
Vous pouvez éventuellement une autre ISO en adaptant les instructions données ici à votre distrib, des différences peuvent exister, notamment au niveau du gestionnaire de paquet, des mots de passes/identifiants par défauts ou des applications propres à la distrib
Vous pouvez même allez sur http://elinux.org/RPi_Distributions pour avoir plus de choix (défiler la page vers le bas pour afficher le début de la liste des bistro)
Note sur les commandes UNIX, les commandes précédées par sudo ou gksudo (sudo graphique sous Linux) supposent que vous êtes connectés en utilisateur non-root, si vous êtes en root, préceder les commandes de sudo ou gksudo est inutile car ces commandes permettent de demander au système d’exécuter une application avec des droits root, ce qu’il fera automatiquement si c’est un utilisateur root qui lance les applications
Sur les systèmes UNIX avec l’outil dd
Mettez la carte SD dans le lecteur de cartes du PC
Identifier le nom de la carte SD grâce à sa capacité avec la commande sudo fdisk -l
Si vous avez plusieurs supports de stockages de la même capacité branché en même temps, utilisez sudo fdisk -l avant et après le branchement de la carte SD du Raspi, ou débranchez les autres supports de stockages de même capacité
Le nom des supports de stockages externes est généralement sous forme sdX (X un chiffre)
Ou dans le cas certains lecteurs de cartes internes, le nom peut-être sous forme de mmcblkY (Y = un chiffre)

Il faut se rendre ensuite dans le bon dossier ou on a décompressé l’image de la distrib choisie, avec la commande cd chemin/vers/dossier pour les sous-dossiers du dossier actuel ou cd /chemin/vers/dossier pour les dossiers qui nécessitent de remonter jusqu’à la racine
Dans mon cas les images se trouvent sur une clé USB, Linux place les points de montage des de supports amovibles dans /media (depuis FHS 2.3)

Copier votre image vers la carte SD avec la commande
sudo dd if=<nom.img> of=/dev/sdX bs=2M ou
sudo dd if=<nom.img> of=/dev/mmcblkY bs=2M
Syntaxe de dd
if=fichier_source (Input File) : lit le fichier source, soit les données à copier, ça peut être un fichier ou un périphérique de stockage, si on veut copier l’image contenue dans une carte mémoire par exemple; if prendra la valeur if=/dev/sdX ou bien if=/dev/mmcblkY
Par défaut, c’est l’entrée standard qui est utilisée (par exemple le clavier).
of=fichier_destination (Output File) : définit le fichier en sortie dans le quel écrire, ici la carte SD.
bs=x (Block Size) : copie les données par blocs de x octets, ici 2 mega.
Patientez jusqu’à obtenir une réponse de dd, juste avant qu’il ne vous redonne la main sur le terminal, le résultat devrait ressembler à quelques chose comme

Éjecter et remettre/remonter la carte mémoire pour la prise en compte des changements effectués avec dd
Retailler la partition pour récupérer l’espace inoccupé si nécessaire, il se peut que votre ISO à été crée pour une carte mémoire de taille inférieure à la votre
Il y a au moins deux méthodes, utiliser raspi-config sur le Pi ou utiliser un utilitaire type GParted sur une autre machine GNU/Linux
– Modifier les partitions automatiquement avec raspi-config depuis le Raspberry : Raspbian uniquement
raspi-config s’exécute automatiquement au premier démarrage de Raspbian, et peut être exécuté à n’importe quel moment avec la commande sudo raspi-config
Pour récupérer l’espace inutilisé et s’en servir pour le système de fichier, il suffit de sélectionner dans le menu de raspi-config
expand_rootfs Expand root partition to fill SD card
– Modifier les partitions manuellement avec Gparted depuis un PC GNU/Linux/Debian-Like : fonctionne pour toutes toutes distros du Raspberry Pi
Lancez GParted avec la commande gksudo gparted, éventuellement après l’avoir installé avec la commande qui va bien en fonction de la distro/gestionnaire du paquets utilisé
Sur une Debian ou Debian-like (Ubuntu, Mint, Kali… ) utilisant apt :
sudo apt-get install gparted
Au lancement de GParted, il sera “pointé” sur sda, c’est à votre disque dur interne, il vaut mieux pas toucher aux partions

Cliquez sur le cadre en haut à droite ou c’est écrit /dev/sda, et choisissez votre carte mémoire dans la liste déroulante qui s’affichera, qui porte toujours le même identifiant que celui utilisé dans l’argument of (Output File) de la commande dd
Si vous ne trouvez pas la carte mémoire dans la liste et qu’elle bien recoonu par le système, CTRL+R est votre ami
Le nom est normalement sous forme de /dev/sdX et X est une lettre attribuée de façon ordonnée donc chaque niveau support ajouté prendra la prochaine lettre libre, mais dans mon cas c’est sdd, au lieu de sdc, sdb étant occupé par la clé USB sur la quelle j’ai mes images de distros pour le Raspi, aidez vous de la capacité de la carte pour réperez le bon identifiant comme vous l’avez avec fdisk, avec les mêmes précautions dont en évitant de brancher d’autres supports de stockages de la même taille pour ne pas confondre
Il se peut aussi que pour certains lecteurs internes de cartes mémoire, /dev/sdX soit remplacé par /dev/mmcblkY (Y = un chiffre) le nom toujours le me que vous avez obtenu grâce à la commande sudo fdisk -l ou fdisk -l en étant connecté en root

Si vous connaissez le nom exact attribué par votre PC à la carte mémoire du Raspi, vous pouvez exécuter GParted directement dessus avec
gksudo gparted /dev/sdX (lecteurs externes) en remplaçant X par la bonne lettre
gksudo gparted /dev/mmcblkY (lecteurs internes) en remplaçant Y par le bon chiffre
Clique droits sur les partitions : démonter -> Redimensionner/Déplacer pour obtenir la fenêtre suivante

Déplacez la flèche de droite vers la limite droite de façon à augmenter au maximum la valeur Nouvelle taille, et ne plus avoir de zone en gris foncé, comme dans l’image suivante

Il faut maintenant confirmer ce parametrage en cliquant sur le bouton >| Redimensionner/Déplacer
Puis appliquer les modifications configurées en cliquant sur le bouton Appliquer toutes les opérations (le vert devrait apparaître sur le bouton de validation) et patientez un peu
Le résultat final devrait ressemblait à ça

Démonter puis retirer la carte SD pour la remettre dans le Raspberry, finir les branchements (sans connexion Internet) avant de mettre sous tension et bootez le Raspi
Se connecter avec le compte par défaut :
Login : pi
Password par défaut (à changer) : raspberry
Attention, pour l’instant le clavier est en QWERTY, utiliser la touche q pour avoir un a
– Avec un écran et clavier pour le Raspi, et éventuellement une souris, c’est optionnel pour la configuration du Raspi
Reconfigurer la disposition du clavier dpkg-reconfigure keyboard-configuration
– Créer/modifiez le mot de passe user (pi poutr Raspbian) avec passwd
Puis changez le mot de passe root en se plaçant en root avec su puis en procédant au changement du mot de passe avec passwd
– Ou se placer en root avec su puis changer le mot de passe root avec passwd et créer/modifiez le mot de passe user avec passwd <username>, en remplaçant <username> par le nom de l’utilisateur, soit dans le cas présent passwd pi
– Depuis une autre machine sur le réseau local (restez déconnectés d’Internet le temps de changer le mot de passe) en SSH si vous avez un autre PC sous la main mais pas d’écran pour le Raspi
Dans ce cas la configuration du clavier devrait pas poser de problèmes de dispositions mais si c’est le cas, une fois connecté, essayez d’utiliser la commande dpkg-reconfigure keyboard-configuration pour re-mapper les touches
Mais cette méthode est possible uniquement pour Raspbian ou toute autre distro sur la quel un serveur SSH est déjà installé et configuré pour un lancement au démarrage
Vous pouvez installer un serveur SSH sur n’importe quelle distro mais la plupart des distros ne l’ont pas par défaut, pour les quelles il faudra prévoir un écran/clavier au moins pour la première utilisation, afin de pouvoir rendre possible l’utilisation de SSH
Même procédure que dans le cas précédent, après s’être connecté en SSH sur le Raspi depuis un PC connecté au même sous-réseau (ou sur un autre sous réseau avec le routage configuré correctement)
La connexion SSH se fait avec la commande
ssh username@ip ou
ssh username@hostname grâce aux fichiers /etc/host.conf et etc/hosts
Dans mon cas, j’ai pas touché à /etc/hosts et il s’agit ici d’une connexion directe (sans box/switch) entre le Raspi et mon laptop, la connexion directe fera l’objet d’un article a part

Après avoir changer les mots de passes par défaut, votre Raspi est prêt à rejoindre le cyberespace !
Par contre il se peut que vous ne connaissiez pas l’adresse IP (version 4 dans le cas présent), le nom d’hôte du Raspi qui varie en fonction de la distro, ni même si la distrib que vous avez choisi dispose d’un serveur SSH qui se lance au démarrage
Pour le savoir, c’est très simple, il suffit d’utiliser un scanner de ports de type nmap pour parcourir tout (sous-)réseau à la recherche du Raspi
Si c’est pas déjà installé sur votre machine, passez en root avec la commande su installez nmap (sauf si vous êtes en LiveCD) avec la commande adaptée à votre gestionnaire de paquets
Quelques exemples…
Debian et Debian-like (Ubuntu, Mint, Kali… ) utilisant apt :
apt-get install nmap
Redhat, Fedora, Mandrake, Yellow Dog et autres distros utilisant yum :
yum install nmap
NetworkMapper donne les 3 informations recherchés pour chaque machine connectée avec la commande nmap suivie de l’adresse IPv4 de la box en notationCIDR
Soit nmap <ipv4_box/n> avec n = nombres de bits à 1 dans le masque
Pour un réseau de classe C, configuration typique d’un réseau domestique ou scolaire dont le masque par défaut est 255.255.255.0 soit 24 bits du masques qui sont à un
La notation CIDR en IPv4 revient donc à ipv4/24
L’adresse IP est souvent 192.168.1.1, dans le doute regarder derrière votre box
La commande à utiliser dans le cas présent sera donc nmap 192.168.1.1/24
Le résultat est :

Nmap nous apprend que :
– Il y’a bien un serveur SSH actif, car on voit que le port tcp 22 est ouvert
– Le nom d’hôte est est raspberrypi
– L’adresse ip est 192.168.1.21
Pour info, il s’agit d’un réseau de petite taille, 2⁸ – 2 = 254 machines possibles par sous réseau, pour un sous réseau, les IP_machines vont de 192.168.x.1 à 192.168.x.254, il y’a deux adresses réservées
– 192.168.x.0 : il s’agit l’adresse du réseau
– 192.168.x.255 : il s’agit l’adresse de diffusion (broadcast), c’est dire une adresse utilisée pour diffuser un paquet d’informations destiné à toutes les machines connectées au réseau 192.168.x.0
$lsblk
sda 8:0 0 149,1G 0 disk
├─sda1 8:1 0 100M 0 part
├─sda2 8:2 0 27,4G 0 part
├─sda3 8:3 0 1K 0 part
├─sda5 8:5 0 514M 0 part /boot
├─sda6 8:6 0 1G 0 part [SWAP]
├─sda7 8:7 0 30G 0 part /
├─sda8 8:8 0 30,1G 0 part /home
└─sda9 8:9 0 60G 0 part /data
sdb 8:16 1 1,9G 0 disk
└─sdb1 8:17 1 1,9G 0 part
sde 8:64 1 3,8G 0 disk
├─sde1 8:65 1 56M 0 part
└─sde2 8:66 1 3,8G 0 part
sr0 11:0 1 1024M 0 rom
moins fouilli que fdisk et pas besoin d’être root 😉
bye
Je connaissais pas cette commande, thanks