Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Changement de noyau sur rPI 3

1 réponse
Avatar
BERTRAND Jo=c3=abl
Bonjour Í  tous,

Ne trouvant de solution pour mon problème de wifi, j'ai décidé ce matin
de changer de noyau (passer de 4.9.35-v7 Í  5.10). J'ai donc installé le
paquet correspondant au noyau 5.10.0-7-armmp-lpae.

Pas trivial, entre /boot/firmware qui n'est pas créé (et il faut
absolument que ce soit un point de montage), /boot qui n'est pas assez
grande par défaut, il m'a fallu plusieurs heures pour obtenir le noyau
et le ramdisk correspondant.

La doc du raspberry indique qu'il est possible de rajouter
kernel=mon_noyau dans /boot/config.txt.

Sauf qu'en faisant cela, le rPI 3 ne boote pas. En retirant la ligne ou
en indiquant kernel=kernel7.img, ça fonctionne Í  nouveau, mais
forcément, ça démarre le noyau 4.9.35.

Chose surprenante :

root@abel:/boot# file kernel.img
kernel.img: ARM OpenFirmware FORTH Dictionary, Text length: -509607936
bytes, Data length: -509607936 bytes, Text Relocation Table length:
-369098749 bytes, Data Relocation Table length: 24061976 bytes, Entry
Point: 0x00000000, BSS length: 4379032 bytes
root@abel:/boot# file kernel7.img
kernel7.img: ARM OpenFirmware FORTH Dictionary, Text length: -509607936
bytes, Data length: -509607936 bytes, Text Relocation Table length:
-369098749 bytes, Data Relocation Table length: 24061976 bytes, Entry
Point: 0x00000000, BSS length: 4579248 bytes
root@abel:/boot# file vmlinuz-5.10.0-7-armmp-lpae
vmlinuz-5.10.0-7-armmp-lpae: Linux kernel ARM boot executable zImage
(little-endian)

Il n'est donc pas étonnant que le bootloader ne puisse pas démarrer le
noyau créé par debian.

Est-ce que quelqu'un a déjÍ  réussi Í  faire booter sur un rPI une zImage
? Sinon, comment convertir une zImage (+ramdisk je suppose) en
kernel.img ? Question posée autrement, comment démarrer sur le nouveau
noyau ?

Bien cordialement,

JKB

1 réponse

Avatar
Hugues Larrive
Bonjour,
J'ai ceci :
:/etc/apt# cat sources.list
deb http://deb-multimedia.org stable main non-free
deb http://deb-multimedia.org testing main non-free
deb http://deb-multimedia.org unstable main non-free
deb http://deb.debian.org/debian stable main contrib non-free
deb http://deb.debian.org/debian testing main contrib non-free
deb http://deb.debian.org/debian unstable main contrib non-free

Bizarre, avec ça tu devrais être en debian 10 (stable) ou 11 (testing/unstable).
Tu as surement un "pinning" dans /etc/apt/preferences qui te bloque en debian 9.
Que donne :
$ apt-cache policy base-files
Normalement pour debian stable il te faut aussi un dépot pour les mises-Í -jour de sécurité :
deb http://security.debian.org/ stable/updates main contrib non-free
Mais je ne sais pas si c'est une bonne idée d'utiliser debian directement sur raspberri pi.
:/etc/apt# cat sources.list.d/raspi.list
#deb http://archive.raspberrypi.org/debian/ jessie main ui

...
Pas moyen de mettre Í  jour raspberrypi-kernel.

Normal, la ligne est commentée.
Au final il semble que ton système soit un hybride entre raspbian 8 et debian 10 et 11... pas terrible pour la stabilité lors des mises Í  jour !
Je te donne les sources.list d'origine de raspbian 10 :
:~# cat /etc/apt/sources.list
deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
:~# cat /etc/apt/sources.list.d/raspi.list
deb http://archive.raspberrypi.org/debian/ buster main
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.org/debian/ buster main
Voir si tu as d'autres choses qui trainent dans /etc/apt/sources.list.d/.
S'il n'y a pas de pinning et que tu as des paquets en testing/unstable Í  downgrader, tu peux créer _temporairement_ un /etc/apt/preferences avec :
Package: *
Pin: release n=buster
Pin-Priority: 1001
La priorité suppérieur Í  1000 force le downgrade.
Si tu veux ajouter le dépot debian multimedia dans /etc/apt/sources.list:
deb http://deb-multimedia.org buster main non-free
Attention : soit tu fais tout avec les noms d'archives (stable, testing, unstable), soit tu fais tout avec les noms de code (buster, bullseye, sid), il ne faut pas mélanger les deux.
Si tu veux juste installer le noyau 5.10 de raspbian (raspberrypi-kernel) et le bootloader qui va avec (raspberrypi-bootloader), il te faut simplement décommenter la ligne dans /etc/apt/sources.list.d/raspi.list et remplacer "jessie" par "stable", mais il vaudrait probablement mieux remettre tout le système au propre...
@+
Hugues