Bonjour,
Chaque fois que je mets à jour mon Pi4, il exécute needrestart qui se plaint que j’utilise une ancienne version du noyau et que je devrais redémarrer, mais le redémarrage ne change rien.
Il faut d’abord que je précise que:
- J’ai installé une version complète de Raspbian sur la carte SD (la plus à jour de mars 2020)
- J’ai changé mon cmdline.txt sur la carte SD afin de pouvoir démarrer depuis un disque dur
- La partition /boot est restée sur la carte sd…
- L’image sur le disque dur a été utilisée précédemment sur RPi3B+. Je l’ai mise à jour (dist-upgrade, full-upgrade) et elle fonctionne assez bien sur le RPi4 sauf que needrestart dit :
Pending kernel upgrade!
Running kernel version: 4.19.97-v7l+
Diagnostics: The currently running kernel version is not the
expected kernel version 4.19.97-v8+.Restarting the system to load the new kernel will not be handled
automatically, so you should consider rebooting.
Les dossiers /boot (sur la carte SD) et /lib/modules (sur le disque dur) contiennent:
pi@raspberrypi ~ $ ls /lib/modules/
4.14.78+ 4.14.78-v7+ 4.19.97+ 4.19.97-v7+ 4.19.97-v7l+ 4.19.97-v8+
pi@raspberrypi ~ $ ls /boot
bcm2708-rpi-b.dtb bcm2710-rpi-3-b-plus.dtb fixup4.dat kernel7.img start4.elf
bcm2708-rpi-b-plus.dtb bcm2710-rpi-cm3.dtb fixup4db.dat kernel7l.img start4x.elf
bcm2708-rpi-cm.dtb bcm2711-rpi-4-b.dtb fixup4x.dat kernel8.img start_cd.elf
bcm2708-rpi-zero.dtb bootcode.bin fixup_cd.dat kernel.img start_db.elf
bcm2708-rpi-zero-w.dtb cmdline.txt fixup.dat LICENCE.broadcom start.elf
bcm2709-rpi-2-b.dtb config.txt fixup_db.dat overlays start_x.elf
bcm2710-rpi-2-b.dtb COPYING.linux fixup_x.dat start4cd.elf 'System Volume Information'
bcm2710-rpi-3-b.dtb fixup4cd.dat issue.txt start4db.elf
Pour chaque image sur /boot, j’ai lancé:
$ strings /boot/kernelXXX.img | grep -m 1 '^Linux version'
sans résultat sauf pour kernel8.img qui a donné:
Linux version 4.19.97-v8+ (dom@buildbot) (gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9)) #1294 SMP PREEMPT Thu Jan 30 13:27:08 GMT 2020
J’ai donc fait une sauvegarde de kernel.img et copié kernel8.img dans kernel.img, puis redémarré, mais rien n’a changé (toujours le kernel v7l+ booté)…
Du coup, j’ai fait une sauvegarde de kernel7l.img et (comme la version courante est 4.19.97-v7l+) j’ai copié kernel8.img dans kernel7l.img, et j’ai redémarré, mais là, pas de boot du tout…
Retour au kernel7l.img et le problème initial demeure…
J’ai vu dans un autre post sur stackexchange que je peux forcer l’image utilisée en utilisant kernel=xxx dans config.txt mais que ce n’est pas la façon normale de procéder, donc j’aimerais éviter de le faire si cela m’empêche de passer à des versions plus récentes dans le futur.
Je suis aussi un peu frileux à l’idée d’utiliser rpi-update avec tous les avertissements qu’on voit…
Que dois-je faire pour passer à la dernière version du noyau qui est déjà installé sur mon Pi ?