Suite de lâarticle Installation dâun Raspberry PI sans Ă©cran, ni clavier
Préalables
Le cas Windows !
Si vous partez dâun Windows, je vous encourage Ă installer « Windows Sub System 2 », nâayant que parcouru lâarticle, je vous propose une seconde source : Installer WSL 2 sous Microsoft Windows 10 / Windows 11 pour profiter de Linux ou Docker ?.
Comme alternative vous pouvez utiliser putty, vous pouvez mĂȘme vous contenter de lâexĂ©cutable putty.exe permettant dâeffectuer des connexions ssh.
Les cas : Mac et Linux
Si vous partez dâun Mac ou dâun Linux ce sera beaucoup plus simple, puisque vous avez dĂ©jĂ tout ce quâil faut pour vous connecter sur le PI, le support du protocole ssh Ă©tant natif.
La carte SD
Initialisation
Pour préparer la carte SD, je vous propose de regarder les pages Operating system images et Products qui vous aideront à identifier la version de votre Raspberry PI (Ne téléchargez pas les images depuis ces pages).
Lâinformation de fond que vous devez rĂ©cupĂ©rer est le type de processeurs disponible sur votre Raspberry :
En gros, vous devrez savoir si votre Raspberry contient un processeur ARM 64 bits (A ce jour, seul les RPi 4 sont concernés) ou un processeur ARM 32 bits (tous les autres).
La seconde question que vous devrez vous poser est souhaitez-vous avoir une interface graphique sur votre PI (dans ce cas vous devrez prendre en compte la configuration VNC)
Ensuite pour installer le systĂšme sur la carte utiliser lâun des outils suivant pour tĂ©lĂ©charger lâimage et mettre Ă jour la carte SD :
- Raspberry Pi Imager un outil graphique disponible pour Ubuntu (Linux), macOS et Windows.
Limitation: les versions 64 bits ne sont pas disponibles Ă ce jour via cet outil. - prepare-raspbian-sd un outil en ligne de commande pour Linux (support des versions 64 bits).
Une fois lâimage dĂ©posĂ©, la carte SD contiendra 2 partitions.
Windows ne reconnaissant pas la seconde partition (au format ext4), cette saloperie sâacharnera Ă vous obliger Ă la formater, ce quâil ne faut pas faire, Ă©videment.
Configuration
Avant dâaller plus loin, nous allons devoir modifier le contenu de la carte SD afin que soit
Le nom des partitions sont boot et rootfs (Sous Windows vous ne verrez que la premiĂšre).
Pour que votre Raspberry lance le service ssh au démarrage, il vous suffit de créer un fichier ssh
Il ne faut pas que le fichier se nomme
ssh.txt
. Windows ne sait pas crĂ©er de fichier sans extension sans une petite configuration prĂ©alable de lâexplorateur. Dans les propriĂ©tĂ©s demandez lâaffichage des extensions.
Sous Linux, la partition se trouvera probablement ici : /media/${USER}/boot
et si câest le cas vous pouvez crĂ©er le fichier depuis un terminal Ă lâaide de :
touch /media/${USER}/boot/ssh
Pour la suite nous aurons besoin de lâadresse IP du RPI, il existe de nombreuses solutions pour rĂ©cupĂ©rer cette adresse, mais câest extrĂȘmement dĂ©pendant de lâenvironnement (systĂšme et rĂ©seau). Je vous propose une solution qui nĂ©cessite de pouvoir Ă©crire sur la seconde partition (nommĂ©e rootfs).
Windows ne reconnaissant pas la seconde partition (au format ext4), vous devrez rechercher comment « monter une partition ext4 sous Windows » et a priori câest possible avec : WSL.
-
Logger l'adresse du RPI sur le RPI
Le fichier
/etc/rc.local
est exécuté au démarrage du RPI, dans ce fichier nous allons exécuter un second script/etc/rc.local.find-ip.sh
que nous allons lancer en parallĂšle du premier â le script/etc/rc.local
continuera son traitement sans attendre la fin du nouveau script.La ligne que nous allons ajouter est :
sh /etc/rc.local.find-ip.sh &
Modifier le fichier
/etc/rc.local
Ă partir de la racineROOTFS
afin dâobtenir quelque chose comme suit :#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. # Print the IP address _IP=$(hostname -I) || true if [ "$_IP" ]; then printf "My IP address is %s\n" "$_IP" fi sh /etc/rc.local.find-ip.sh & # Lance dans un nouveau processus exit 0
Créer le fichier
/etc/rc.local.find-ip.sh
Ă partir de la racineROOTFS
#!/bin/sh -e # # /etc/rc.local.find-ip.sh # exec 1>/var/log/rc.local.log 2>&1 # send stdout and stderr to a log file set -x # tell sh to display commands before execution IP= while [ -z "${IP}" ] ; do sleep 1 IP=$( ip -br -4 addr show | grep 'UP' | rev | cut -d'/' -f2 | cut -d' ' -f1 | rev ) echo "${IP}" hostname -I ip addr done exit 0
Ce nouveau script Ă©crit tout ce quâil fait dans le fichier
/var/log/rc.local.log
et que fait-il dâautre ?Il cherche Ă rĂ©cupĂ©rer une adresse IPv4 et sâarrĂȘte lorsquâelle a Ă©tĂ© trouvĂ©e.
Pour rĂ©cupĂ©rer lâadresse IP du PI, il suffira de le dĂ©marrer dâattendre une bonne grosse minutes puis de lâĂ©teindre (dĂ©brancher lâalimentation).
Ensuite vous mettrez la SD dans votre ordinateur personnel et sur la partition rootfs vous irez voir le contenu du fichier
/var/log/rc.local.log
pour obtenir lâadresse IP.
RĂ©cupĂ©ration de lâadresse IP du RPi
La documentation se limite à des réseaux supportant IPv4 (généralement une adresse de la forme 192.168.1.10), pour des réseaux en IPv6 uniquement, vous devrez adapter le code
Sous Linux, je vous conseille depuis un terminal la commande nmap.
nmap -sn <Your LAN Subnet>
Par exemple :
nmap -sn 192.168.1.0/24
La commande nmap est Ă©galement disponible pour Windows et macOS :
Attention sous Linux, pour obtenir les adresses MAC, vous devez ĂȘtre root
sur la machine et donc utiliser la commande sudo
 :
sudo nmap -sn 192.168.1.0/24
Il est probable que sous Windows ou Mac-OS quelque chose de similaire soit requit.
Connexion « ssh »
Pour la connexion ssh. vous aller avoir besoin de lâadresse IP de votre Raspberry PI. Si vous disposer dâun terminal avec la commande ssh, vous devrez faire :
Par dĂ©faut le nom dâutilisateur est pi
et le mot de passe est raspberry
.
Vous vous connecterez Ă lâaide de lâadresse IP de votre RPi comme suit :
ssh pi@192.168.?.???
VNC (facultatif)
Si vous souhaitez accĂ©der Ă lâinterface graphique de votre PI, vous devrez utiliser le protocole VNC.
Activer le protocole VNC et le configurer sur le Raspberry
Rendez-vous sur lâarticle Connexion VNC Ă un Raspberry avec remmina et suivez la partie concernant le PI.
Le client VNC
Lâarticle Connexion VNC Ă un Raspberry avec remmina contiends les informations pour Linux (et probable pour la Pomme aussi).
Concernant Windows, il faut rĂ©cupĂ©rer un client VNC. Je vous conseille de nâinstaller que la partie cliente de VNC.
Attention, sur Windows les clones de VNC servant finalement a piraté votre machine sont légion)
Merci pour vos commentairesâŠ
኿