cClaude.rocks ☕ Le blog

[Nouvelles technologies, sciences et coups de gueule…]

Menu
😤 Ce billet a été édité le : 2023-12-11

La version Bookworm du système d’exploitation du Raspberry est sortie il y a bientôt un mois.

Je n’ai pas encore testé la version avec l’interface graphique (d’où l’absence d’article), mais j’ai commencé à migrer mes serveurs, ce qui est un long travail.

Voici une procédure permettant de mettre à jour une machine déjà installée. Procédure que j’ai testé avec succès, mais qui reste déconseillé par la Fondation Raspberry.



ATTENTION

Lire attentivement avant de faire cette opération…

Une sauvegarde complète de votre carte SD est grandement recommandé.

Basez-vous sur la source(en anglais) et non pas sur ce billet, qui n’a pour but que de traduire et de clarifier certains points.

Pensez également à lire les commentaires présents dans le « gist » qui peuvent vous concerner.

Procédure de mise à jour

Source: https://gist.github.com/jauderho/6b7d42030e264a135450ecc0ba521bd8

Assurez-vous que tout est à jour :

sudo apt-get update && sudo apt-get dist-upgrade

Fait

Faites pointer les dépôts vers bookworm :

sudo sed -i -e 's/bullseye/bookworm/g' /etc/apt/sources.list
sudo sed -i -e 's/bullseye/bookworm/g' /etc/apt/sources.list.d/raspi.list

Ajouter le dossier non-free-firmware :

sudo sed -i -E 's,^deb (.*) non-free$,deb \1 non-free non-free-firmware,g' /etc/apt/sources.list

Fait

Vérifier le contenu du fichier /etc/apt/sources.list

deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
# Uncomment deb-src lines below then 'apt-get update' to enable 'apt-get source'
#deb-src http://deb.debian.org/debian bookworm main contrib non-free
#deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free
#deb-src http://deb.debian.org/debian bookworm-updates main contrib non-free

Fait

Vérifier le contenu du fichier /etc/apt/sources.list.d/raspi.list

deb http://archive.raspberrypi.org/debian/ bookworm main
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.org/debian/ bookworm main

Fait

Effectuer une mise à jour réelle. Attention des questions (liées à la modification des fichiers de configuration) sont probables dans cette partie qui assez est longue, votre présence est donc requise.

Prévoir 2 heures !

sudo apt update && sudo apt -y full-upgrade && sudo apt -y clean && sudo apt -y autoremove

Fait

Redémarrer la machine :

sudo reboot

Le redémarrage peut être assez long, puisqu’il prend en compte la mise à jour du bootloader et du kernel.

Fait

Supprimez les anciens fichiers de configuration après avoir effectué des vérifications d’intégrité :

sudo apt purge ?config-files

Fait

Passer aux nouveaux noyaux

Préparation :

sudo dpkg --purge --force-depends raspberrypi-kernel raspberrypi-bootloader
sudo umount /boot
sudo fsck -y /boot
sudo mkdir /boot/firmware
sudo sed -i.bak -e "s#boot#boot/firmware#" /etc/fstab
sudo systemctl daemon-reload
sudo mount /boot/firmware
sudo apt install raspi-firmware

Fait

Utilisez uname et arch pour vérifier votre configuration actuelle :

arch ; uname -a

Installez réellement les noyaux.

Assurez-vous de choisir la bonne version pour votre Pi :

Machines Installation
RPi3 (RPi4 inclus) et plus récent en 64 bit1 (aarch64) sudo apt install -y linux-image-rpi-v8 linux-headers-rpi-v8
RPi4 et 400 en 32 bit2 sudo apt install -y linux-image-rpi-v7l linux-headers-rpi-v7l
RPi2 (32bit) ou 3, 3+, Zero 2 W, Compute Modules 3 et 3+ en 32 bit mode3 (armhf) sudo apt install -y linux-image-rpi-v7 linux-headers-rpi-v7
RPi1, Zero, Zero W, Compute Module 1 (armel) sudo apt install -y linux-image-rpi-v6 linux-headers-rpi-v6
RPI5 sudo apt install -y linux-image-rpi-2712 linux-headers-rpi-2712

Il est probable que ce soit l’une de ces 3 lignes qui corresponde à votre cas :

sudo apt install linux-image-rpi-v8 linux-headers-rpi-v8      # 64bit
sudo apt install linux-image-rpi-v7l linux-headers-rpi-v7l    # 32bit
sudo apt install linux-image-rpi-v6 linux-headers-rpi-v6      # Raspbian ??? (Par déduction, à vérifier !)

Fait

Ajoutez auto_initramfs=1 au bas du fichier config.txt là où il est écrit [all]

sudo sed -i.bak '$ a\auto_initramfs=1' /boot/firmware/config.txt

Fait

Redémarrer la machine:

sudo reboot

Fait

Vérifiez en utilisant uname -a :

uname -a
  • Ancien noyau : Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT lundi 3 avril 17:24:16 BST 2023 aarch64 GNU/Linux
  • Nouveau noyau : Linux raspberrypi 6.1.0-rpi4-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.54-1+rpt2 (2023-10-05) aarch64 GNU/Linux (correct au 10/2023)
  • Nouveau noyau : Linux HOSTNAME 6.1.0-rpi7-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.63-1+rpt1 (2023-11-24) aarch64 GNU/Linux (au 12/2023)

Fait

Dans l’hypothèse où vous n’utilisiez pas le service NetworkManager, vous risquez de perdre la connexion réseau au redémarrage.

Vous pouvez vérifier cela à l’aide de :

systemctl status NetworkManager dhcpcd

Vérifiez le tableau ARP pour voir quelle est la nouvelle adresse IP attribuée par DHCP.

Vous devrez peut-être redéfinir manuellement l’adresse IP.

Installez NetworkManager, s’il n’est pas déjà installé

sudo apt-get install --no-install-recommends network-manager

Passer à NetworkManager depuis dhcpcd

sudo systemctl enable --now NetworkManager
sudo systemctl disable --now dhcpcd

Configurez une adresse IP statique (Optionnel – Ajuster si nécessaire)

sudo nmcli -p connection show
sudo nmcli -p connection show "Wired connection 1"
sudo nmcli con mod "Wired connection 1" ipv4.method manual ipv4.addresses 192.168.1.5/24 ipv4.gateway 192.168.1.1

Fait

Redémarrer la machine :

sudo reboot

Fait

Étapes bonus

Installer btop

sudo apt-get install btop

Fait

Mettez à jour /etc/ssh/sshd_config pour une configuration à jour et sécurisée par défaut:

KexAlgorithms sntrup761x25519-sha512@openssh.com,curve25519-sha256,curve25519-sha256@libssh.org
HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-ed25519
Ciphers chacha20-poly1305@openssh.com
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com

Utilisez ssh-audit pour vérifier.

sudo apt install ssh-audit

Plus de détail dans le billet : 🔧 ssh-audit : Limiter les risques de sécurité avec le protocole SSH.

Fait

Petites corrections

Depuis bookworm, les fichiers /boot/cmdline.txt et /boot/config.txt ont été déplacé vers le dossier /boot/firmware/.

Dans une installation fraîche, il existe les fichiers ont été remplacés par des liens, voici comment s’aligner sur cette partie :

cd /boot
sudo ln -s firmware/cmdline.txt cmdline.txt
sudo ln -s firmware/config.txt config.txt

Notez que votre Raspberry sera fonctionnel sans ces liens, mais cela peut être la source d’erreurs avec certains outils ou tutoriels.

Fait



Liens

ᦿ🐺

Merci à PLB🐺.


ℹ 2006 - 2024 | 🏠 Accueil du domaine | 🏡 Accueil du blog