cClaude.rocks ☕ Le blog

[Nouvelles technologies du libre, 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 Ă  caseih⁩ đŸș pour ces remarques.

኿đŸș


â„č 2006 - 2024 | 🏠 Accueil du domaine | 🏡 Accueil du blog