Mise à jour : Raspi OS 11 - Bullseye - 32 bits
Ce document décrit l'installation en version serveur de la distribution Raspberry Pi OS à partir d'une connexion SSH et un accès wifi. L'installation s'effectue en deux étapes principales
Préparation de la carte SD sur un PC linux
téléchargement et recopie de l'image de l'OS sur la carte SD
Références :
Sommaire
Dans ce qui suit on télécharge une image Raspberry Pi OS Lite 32 bits "courante" basée sur la version Debian 11 - Bullseye
Dans l'exemple ci-dessous le téléchargement est effectué via un torrent
$ rtorrent -n -p 55718-55718 -s ./ -d ./ -o download_rate=5000,upload_rate=500,check_hash=yes \
https://downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2021-11-08/2021-10-30-raspios-bullseye-armhf-lite.zip.torrent
$ sha256sum 2021-10-30-raspios-bullseye-armhf-lite.zip
008d7377b8c8b853a6663448a3f7688ba98e2805949127a1d9e8859ff96ee1a9 2021-10-30-raspios-bullseye-armhf-lite.zip
Introduire la carte SD dans un lecteur du PC, on suppose que la carte est attachée en /dev/mmcblk0
$ unzip *bullseye*.zip $ du -h *bullseye*.img
1,9G 2021-10-30-raspios-bullseye-armhf-lite.img
puis, recopie de l'image sur la carte SD
$ $ dd if=2021-10-30-raspios-bullseye-armhf-lite.img |pv -s 2G |sudo dd of=/dev/mmcblk0 bs=4MiB conv=fsync
$ sudo parted /dev/mmcblk0 unit GiB print free
....
Number Start End Size Type File system Flags
0,00GiB 0,00GiB 0,00GiB Free Space
1 0,00GiB 0,25GiB 0,25GiB primary fat32 lba
2 0,25GiB 1,82GiB 1,57GiB primary ext4
1,82GiB 119GiB 117GiB Free Space
$ lsblk -f /dev/mmcblk0
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
mmcblk0
├─mmcblk0p1 vfat FAT32 boot C839-E506
└─mmcblk0p2 ext4 1.0 rootfs 568caafd-bab1-46cb-921b-cd257b61f505
Monter la partition de boot /dev/mmcblk0p1 afin d'effectuer les modifications
$ sudo mount /dev/mmcblk0p1 /mnt
$ sudo touch /mnt/ssh
$ cat <<EOF |sudo tee /mnt/wpa_supplicant.conf
country=FR
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="SSID du réseau"
scan_ssid=1ey_mgmt=WPA-PSK
k
psk="Mot de passe réseau en clair" }
EOF
$ sudo iw dev wlp0s20f3 info |grep ssid
ssid SFR-fcc8_5GHz
La modification de la partition est terminée, la démonter
$ sudo umount /mnt
$ sudo parted /dev/mmcblk0p2 resize 2 15GB
$ sudo e2fsck -f /dev/mmcblk0p2
$ sudo resize2fs /dev/mmcblk0p2
$ sudo partx /dev/mmcblk0p2 -o nr,end
NR END
2 29296639
$ sudo parted /dev/mmcblk0 mkpart primary ext2 29296640 100%
Le système démarre, le voyant vert s'allume irrégulièrement en fonction de l'accès au disque, un redémarrage s'effectue automatiquement
Attendre jusqu'à ce que le voyant vert
s'éteigne sur un Pi # zéro
Le voyant rouge PWR est absent sur le Pi zéro et présent sur les autres modèles. Il indique que l'alimentation est présente sur la carte. Sur les modèles A+ et suivants, le voyant rouge clignote si la tension descend en dessous de 4.63V
Déterminer l'adresse du raspberry sur le réseau, via l'une des trois méthodes suivantes
$ sudo aptitude install avahi-daemon
$ ping raspberrypi.local
Se connecter sur le box réseau, son adresse, ici 192.168.0.1, peut-être trouvée avec
$ ip route |grep default
default via 192.168.0.1 dev wlp0s20f3 proto dhcp metric 600
$ nmap -n 192.168.0.1/24 -p 22 -A |grep open -B4
Nmap scan report for 192.168.0.12
Host is up (0.012s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.4p1 Raspbian 5+b1 (protocol 2.0
--
Dans l'exemple ci-dessus, le raspberry a pris l'adresse 192.168.0.12
$ ssh pi@raspberrypi.local # ou bien
$ ssh pi@192.168.0.12 # ou bien
$ ssh -l pi 192.168.0.19
The authenticity of host '192.168.0.19 (192.168.0.19)' can't be established.
ECDSA key fingerprint is SHA256:5rOqtg9Y++MtGMTIfN+KcJ3z3xyTfW/zJplWY9t8BU8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.19' (ECDSA) to the list of known hosts.
pi@192.168.0.19's password:
Entrer le mot de passe utilisateur du raspberry : raspberry par défaut. Il est recommandé de modifier le mot de passe
SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.
La connexion avec le shell du raspberry s'ouvre. Changer le mot de passe
pi@raspberrypi:~ $ passwd
Changing password for pi.
Current password:
New password:
Retype new password:
passwd: password updated successfully
Pour plus de détails se reporter à : SSH - Connexion par clé privée / clé publique
pi@raspberrypi:~ $ exit
logout
Connection to 192.168.0.12 closed.
$
$ ls .ssh/id*
le générer, en optant pour le choix sans utilisation de mot de passe
$ ssh-keygen -t rsa -b 2048
$ ssh-copy-id pi@raspberry.local
Pour se connecter, utiliser désormais
$ ssh pi@raspberry.local
ce qui sécurise la connexion, tout en supprimant la saisie d'un mot de passe
$ sudo passwd root
Nouveau mot de passe :
Retapez le nouveau mot de passe :
passwd: password updated successfully
Toujours depuis le PC, via SSH
$ date
Thu 12 Nov 15:50:10 GMT 2020
$ sudo raspi-config
Sélectionner 5 - Localisation Options Puis L1 locale Puis L2 Timezone
etc ...
# Ajouter le français [*] fr_FR.UTF-8 UTF-8
$ sudo dpkg-reconfigure locales
# Définir le fuseau horaire (Europe - Paris)
$ sudo dpkg-reconfigure tzdata
$ exit
$ ssh -l pi 192.168.0.20
$ date
dimanche 15 novembre 2020, 23:50:48 (UTC+0100)
$ hostname
raspberrypi
$ sudo raspi-config
> Sélectionner System Options > Hostname, et entrer le nom d'hôte. Redémarrer pour faire prendre en compte la modification
Le changement de nom d'hôte sera effectif au prochain redémarrage
Remplacer la ligne
127.0.1.1 <nom_hôte>
par
127.0.1.1 <nom_hôte.localhost> <nom_hôte>
$ hostname -f
$ sudo raspi-config
Les dernières versions du firmware acceptant le démarrage sur stockage de masse USB
$ cat /etc/apt/sources.list.d/vscode.list
$ sudo apt update
$ sudo apt upgrade
$ sudo apt dist-upgrade
$ sudo apt install aptitude apt-file mlocate speedtest-cli sysstat lsof \
alsa-utils sound-theme-freedesktop command-not-found
$ sudo apt-file update
$ sudo update-command-not-found
$ sudo rpi-eeprom-update
BOOTLOADER: up to date
CURRENT: mardi 6 juillet 2021, 10:44:53 (UTC+0000) (1625568293)
LATEST: mardi 6 juillet 2021, 10:44:53 (UTC+0000) (1625568293)
RELEASE: stable (/lib/firmware/raspberrypi/bootloader/stable)
Use raspi-config to change the release.
VL805_FW: Dedicated VL805 EEPROM
VL805: up to date
CURRENT: 000138a1
LATEST: 000138a1
$ sudo rpi-eeprom-update -a
$ sudo reboot
En cas de problème, ou pour changer le canal de mise à jour, voir : https://jamesachambers.com/raspberry-pi-4-bootloader-firmware-updating-recovery-guide/
$ sudo rpi-update
*** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
*** Performing self-update
*** Relaunching after update
*** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
*** We're running for the first time
*** Backing up files (this will take a few minutes)
*** Backing up firmware
*** Backing up modules 5.10.63-v7l+
#############################################################
WARNING: This update bumps to rpi-5.10.y linux tree
See: https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=288234
'rpi-update' should only be used if there is a specific
reason to do so - for example, a request by a Raspberry Pi
engineer or if you want to help the testing effort
and are comfortable with restoring if there are regressions.
DO NOT use 'rpi-update' as part of a regular update process.
##############################################################
Would you like to proceed? (y/N)
*** Downloading specific firmware revision (this will take a few minutes)
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 173 100 173 0 0 1209 0 --:--:-- --:--:-- --:--:-- 1209
100 121M 100 121M 0 0 755k 0 0:02:44 0:02:44 --:--:-- 1685k
*** Updating firmware
*** Updating kernel modules
*** depmod 5.10.78-v7l+
*** depmod 5.10.78-v8+
*** depmod 5.10.78-v7+
*** depmod 5.10.78+
*** Updating VideoCore libraries
*** Using HardFP libraries
*** Updating SDK
*** Running ldconfig
*** Storing current firmware revision
*** Deleting downloaded files
*** Syncing changes to disk
*** If no errors appeared, your firmware was successfully updated to c32e0283e64c8ade35a50de566c032803a276547
*** A reboot is needed to activate the new firmware
$ uname -r
5.10.78-v7l+
$ sudo raspi-config >>> Advanced Options >> Bootloader version >>