0 Votes

Code source wiki de Noyau et dépôt Raspberry Pi

Modifié par john le 2026/09/20 14:01

Masquer les derniers auteurs
john 1.1 1 Le Raspberry Pi tourne sous Debian 13, avec le noyau, le firmware et les outils matériels de Raspberry Pi. Ces derniers viennent du dépôt Raspberry Pi, limité par une règle de priorité : tout le reste vient de Debian.
2
3 |=Élément|=Valeur (sept. 2026)
4 |Modèle|Raspberry Pi 4 Model B
5 |Système|Debian 13 (trixie), issu d'une mise à niveau de Raspberry Pi OS 12
6 |Noyau|6.18.50+rpt-rpi-v8 (##linux-image-rpi-v8##)
7 |Firmware|##raspi-firmware## 1.20260907
8 |Chargeur de démarrage (EEPROM)|17 mai 2026
9
10 == Historique ==
11
12 Lors du passage de Raspberry Pi OS 12 à Debian 13, le dépôt Raspberry Pi avait été retiré. Le noyau (6.6.47), le firmware et le chargeur de démarrage n'étaient plus mis à jour. Dépôt rétabli en septembre 2026.
13
14 == Clé du dépôt ==
15
16 Depuis le 1er février 2026, apt refuse les signatures SHA1 : l'ancien trousseau (2021) ne permet plus d'utiliser le dépôt. Le paquet récent se télécharge directement :
17
18 {{code language="bash"}}
19 curl -fsSL https://archive.raspberrypi.com/debian/pool/main/r/raspberrypi-archive-keyring/ | grep -o 'raspberrypi-archive-keyring_[^"<]*\.deb' | sort -u
20 cd /tmp
21 curl -fsSLO https://archive.raspberrypi.com/debian/pool/main/r/raspberrypi-archive-keyring/raspberrypi-archive-keyring_2025.1+rpt1_all.deb
22 dpkg-deb -c raspberrypi-archive-keyring_2025.1+rpt1_all.deb
23 sudo dpkg -i raspberrypi-archive-keyring_2025.1+rpt1_all.deb
24 {{/code}}
25
26 Trousseau installé : ##/usr/share/keyrings/raspberrypi-archive-keyring.pgp## (le paquet dépose aussi une copie dans ##/etc/apt/trusted.gpg.d/##).
27
28 == Dépôt et priorités ==
29
30 ##/etc/apt/sources.list.d/raspi.sources## :
31
32 {{code}}
33 Types: deb
34 URIs: https://archive.raspberrypi.com/debian/
35 Suites: trixie
36 Components: main
37 Signed-By: /usr/share/keyrings/raspberrypi-archive-keyring.pgp
38 {{/code}}
39
40 ##/etc/apt/preferences.d/raspi## :
41
42 {{code}}
43 Package: *
44 Pin: origin archive.raspberrypi.com
45 Pin-Priority: 100
46
47 Package: linux-image-rpi-v8 linux-image-*-rpi-v8 raspi-firmware raspberrypi-archive-keyring rpi-eeprom raspi-utils*
48 Pin: origin archive.raspberrypi.com
49 Pin-Priority: 500
50 {{/code}}
51
52 |=Priorité|=Effet
53 |100|Paquet du dépôt Raspberry Pi installé seulement si Debian ne le fournit pas, ou s'il est déjà installé depuis ce dépôt
54 |500|Noyau, firmware, trousseau et outils matériels : priorité égale à Debian
55
56 Les fichiers doivent être lisibles par tous (##chmod 644##) : un ##umask## restrictif de root les crée lisibles par root seul, et ##apt policy## sans ##sudo## ne les voit plus.
57
58 Un paquet déjà installé depuis ce dépôt est mis à jour même à la priorité 100. Pour en figer un temporairement :
59
60 {{code}}
61 Package: <PAQUET>
62 Pin: origin archive.raspberrypi.com
63 Pin-Priority: 50
64 {{/code}}
65
66 == Paquets Raspberry Pi installés ==
67
68 |=Paquet|=Rôle
69 |##linux-image-rpi-v8##|Méta-paquet du noyau
70 |##raspi-firmware##|Firmware ; recopie le noyau et l'initramfs dans ##/boot/firmware## à chaque installation
71 |##rpi-eeprom##|Mise à jour du chargeur de démarrage
72 |##raspi-utils##|Outils matériels (##vcgencmd##, ##pinctrl##, ##dtoverlay##…)
73 |##raspberrypi-sys-mods##|Règles udev (GPIO, SPI, I2C), modules de l'initramfs
74 |##raspberrypi-net-mods##|Réglage NetworkManager pour le Wi-Fi du Pi
75 |##raspi-config##|Outil de configuration
76
77 ##rpi-eeprom## et ##raspi-utils## sont marqués comme installés manuellement (##apt-mark manual##) : un ##autoremove## les avait retirés.
78
79 == Mettre à jour le noyau ==
80
81 Simuler, installer, puis contrôler avant de redémarrer :
82
83 {{code language="bash"}}
84 sudo apt install -s linux-image-rpi-v8 raspi-firmware | grep -E '^(Inst|Remv)'
85 sudo apt install linux-image-rpi-v8 raspi-firmware
86 cmp /boot/firmware/kernel8.img /boot/vmlinuz-<VERSION>+rpt-rpi-v8 && echo OK
87 cmp /boot/firmware/initramfs8 /boot/initrd.img-<VERSION>+rpt-rpi-v8 && echo OK
88 {{/code}}
89
90 Copie de secours avant un changement de noyau :
91
92 {{code language="bash"}}
93 sudo cp -a /boot/firmware/kernel8.img /boot/firmware/kernel8-<ANCIENNE_VERSION>.img
94 sudo cp -a /boot/firmware/initramfs8 /boot/firmware/initramfs8-<ANCIENNE_VERSION>
95 {{/code}}
96
97 Si le Pi ne redémarre pas : carte SD dans un PC, ajouter à la fin de ##config.txt## (partition FAT) :
98
99 {{code}}
100 kernel=kernel8-<ANCIENNE_VERSION>.img
101 initramfs initramfs8-<ANCIENNE_VERSION> followkernel
102 {{/code}}
103
104 La copie ne sert que tant que les modules de l'ancien noyau sont installés : la supprimer en même temps que le paquet de l'ancien noyau.
105
106 Contrôles après redémarrage :
107
108 {{code language="bash"}}
109 uname -r
110 ls <POINT_MONTAGE> > /dev/null && findmnt -n -o SOURCE,FSTYPE <POINT_MONTAGE>
111 lsusb -t | grep -E 'Driver=(uas|usb-storage)'
112 ls /dev/spidev0.0 /dev/i2c-1
113 systemctl is-active meshtasticd led-anim jellyfin docker fail2ban smartmontools
114 meshtastic --host localhost --info | grep -m1 Owner
115 {{/code}}
116
john 2.1 117 Après la suppression d'un ancien noyau, vérifier que les overlays sont complets : leur nombre dans ##/boot/firmware/overlays## doit être proche de celui fourni par le noyau. En septembre 2026, le retrait de l'ancien noyau a supprimé une partie des overlays (dont ##gpio-fan.dtbo##, ventilateur non piloté). Correction : réinstaller le paquet du noyau, dont les scripts recopient tous les fichiers de démarrage.
118
119 {{code language="bash"}}
120 ls /boot/firmware/overlays/ | wc -l
121 ls /usr/lib/linux-image-$(uname -r)/overlays/ | wc -l
122 sudo apt install --reinstall linux-image-$(uname -r)
123 {{/code}}
124
john 1.1 125 == Chargeur de démarrage ==
126
127 {{code language="bash"}}
128 sudo rpi-eeprom-update # état ; propose l'installation si une mise à jour existe
129 sudo rpi-eeprom-update -a # préparer la mise à jour, appliquée au redémarrage suivant
130 sudo rpi-eeprom-update -r # annuler une mise à jour en attente
131 {{/code}}
132
133 À faire séparément d'un changement de noyau, pour savoir lequel est en cause en cas de problème.
134
135 == Examiner une mise à jour avant de l'appliquer ==
136
137 Le dépôt Raspberry Pi ne publie pas ses journaux pour ##apt changelog## : les lire dans le paquet.
138
139 {{code language="bash"}}
140 cd /tmp
141 apt-get download <PAQUET>=<VERSION>
142 dpkg-deb --fsys-tarfile <PAQUET>_*.deb | tar -xO ./usr/share/doc/<PAQUET>/changelog.gz | zcat | head -n 40
143 dpkg-deb -c <PAQUET>_*.deb | grep -v '/$'
144 {{/code}}
145
146 == Paquets orphelins ==
147
148 {{code language="bash"}}
149 apt list '~o' # paquets installés qu'aucun dépôt ne fournit plus
150 {{/code}}
151
152 Seul ##libpam-cracklib## (Debian 11) reste, volontairement : il est utilisé par ##/etc/pam.d/common-password##. Remplaçant Debian : ##libpam-pwquality##.