Raspberry Pi Partie 2 : Installation de Raspbian

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)

sudo fdisk -l

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)

cd_ls
Se placer dans le bon dossier

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

dd_unix
Copier l’image de Raspbian vers le la carte mémoire

É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

– 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

gparted_sda
Gparted – Disque dur

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

gparted_sdd
Gparted – Carte SD

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

gparted_resize
Gparted : redimentionnement de la Carte SD

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

gparted_resized
Gparted, Carte SD redimentionnée correctement

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

gparted_resize_done
Repartitionnement validé

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

ssh pi@ipaddress
Se connecter en SSH

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
Résultat d’un scan de ports sur le raspi avec nmap

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

2 thoughts on “Raspberry Pi Partie 2 : Installation de Raspbian”

  1. $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

Leave a Reply

Your email address will not be published. Required fields are marked *