0 Votes

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

Version 1.1 par john le 2026/09/20 13:09

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
117 == Chargeur de démarrage ==
118
119 {{code language="bash"}}
120 sudo rpi-eeprom-update # état ; propose l'installation si une mise à jour existe
121 sudo rpi-eeprom-update -a # préparer la mise à jour, appliquée au redémarrage suivant
122 sudo rpi-eeprom-update -r # annuler une mise à jour en attente
123 {{/code}}
124
125 À faire séparément d'un changement de noyau, pour savoir lequel est en cause en cas de problème.
126
127 == Examiner une mise à jour avant de l'appliquer ==
128
129 Le dépôt Raspberry Pi ne publie pas ses journaux pour ##apt changelog## : les lire dans le paquet.
130
131 {{code language="bash"}}
132 cd /tmp
133 apt-get download <PAQUET>=<VERSION>
134 dpkg-deb --fsys-tarfile <PAQUET>_*.deb | tar -xO ./usr/share/doc/<PAQUET>/changelog.gz | zcat | head -n 40
135 dpkg-deb -c <PAQUET>_*.deb | grep -v '/$'
136 {{/code}}
137
138 == Paquets orphelins ==
139
140 {{code language="bash"}}
141 apt list '~o' # paquets installés qu'aucun dépôt ne fournit plus
142 {{/code}}
143
144 Seul ##libpam-cracklib## (Debian 11) reste, volontairement : il est utilisé par ##/etc/pam.d/common-password##. Remplaçant Debian : ##libpam-pwquality##.