Re : Changement de noyau sur rPI 3

2021-06-19 Par sujet Hugues Larrive
Bonjour,

Le noyau 4.9 correspond à raspbian 8, sur raspbian 9.13 tu devrais avoir un 
noyau 4.19. Un upgrade vers raspbian 10 te donnerait un noyau 5.10.

Les noyaux raspbian sont installés par le package raspberrypi-kernel depuis le 
dépot http://archive.raspberrypi.org/debian/ définit dans 
/etc/apt/sources.list.d/raspi.list.

Si tu as un noyau 4.9 sur stretch, tu as probablement une incohérence entre 
/etc/apt/sources.list (stretch) et /etc/apt/sources.list.d/raspi.list (jessie).

> Est-ce que quelqu'un a déjà réussi à faire booter sur un rPI une zImage

RPI3 sous raspbian 10 :
# file /boot/kernel*
/boot/kernel7.img:  Linux kernel ARM boot executable zImage (little-endian)
/boot/kernel7l.img: Linux kernel ARM boot executable zImage (little-endian)
/boot/kernel8.img:  gzip compressed data, was "Image", last modified: Thu May 
27 13:01:44 2021, from Unix, original size 21035520
/boot/kernel.img:   Linux kernel ARM boot executable zImage (little-endian)

RPI1 sous raspbian 9 :
# file /boot/kernel*
/boot/kernel7.img: Linux kernel ARM boot executable zImage (little-endian)
/boot/kernel.img:  Linux kernel ARM boot executable zImage (little-endian)

Ce sont les noyaux raspberrypi-kernel.

Hugues

‐‐‐ Original Message ‐‐‐

Le jeudi 17 juin 2021 à 14:53, BERTRAND Joël  a 
écrit :

> 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: 0x, 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: 0x, 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



Re: Changement de noyau sur rPI 3

2021-06-19 Par sujet BERTRAND Joël
Je me réponds à moi-même.

Il faut récupérer les sources du noyau ici :

git clone --depth=1 https://github.com/raspberrypi/linux

Ensuite, pour un rPI 3, aller dans le répertoire racine du noyau et le
configurer :

make bcm2709_defconfig

Une fois que c'est fait, compiler le noyau avec tout ce qui vient avec 
lui.

make -j4 zImage modules dtbs

Aller prendre un café. Revenir, retourner prendre un café ou quelque
chose de plus fort, revenir... Und so weiter jusqu'à ce que l'engin ait
fini par compiler le tout...

On installe ce qu'il faut après avoir pris soin de sauvegarder la
sdcard fonctionnelle :

make modules_install
cp arch/arm/boot/dts/*.dtb /boot/
cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/
cp arch/arm/boot/dts/overlays/README /boot/overlays/
cp arch/arm/boot/zImage /boot/kernel7.img

ON NE JOUE PAS AVEC L'OPTION kernel=/noyau DU FICHIER /boot/config.txt
QUI NE FONCTIONNE PAS COMME ATTENDU AU MOINS AVEC MON RPI 3.

À noter : la zImage résultant de la compilation n'est pas une zImage
(je ne vois pas pourquoi ça s'appelle comme ça) mais une image
composite. Le rPI 3 (ainsi que les 1 et 2) ne peut pas démarrer sur une
zImage contrairement au rPI 4 si j'en crois la documentation.

JKB



Re: Wifi, hostapd et mise à jour

2021-06-19 Par sujet BERTRAND Joël
Debian a écrit :
> Salut,
> 
> J'utilise la version 9.13 de Raspbian sur un RPi 3 en tant que point
> d'accès WiFi et il fonctionne toujours parfaitement avec hostapd via
> RaspAP (https://github.com/RaspAP/raspap-webgui).
> 
> $ openssl version
> OpenSSL 1.1.0l  10 Sep 2019
> 
> $ rfkill list
> 0: phy0: Wireless LAN
> Soft blocked: no
> Hard blocked: no

Merci,

L'engin est en localisation FR et raspi-config est correctement
configuré. Je crois avoir le fin mot de l'histoire, c'est ENCORE une
histoire de systemd qui a été mis à jour et qui ne fonctionne plus avec
le noyau 4.9 (ou plus exactement dont le fonctionnement est encore plus
erratique qu'à son accoutumée). Je viens de compiler un noyau 5.10.44
depuis les sources et, assez bizarrement, la carte réseau est à nouveau
pleinement fonctionnelle :

bertrand@abel:~ $ iw list
Wiphy phy0
wiphy index: 0
max # scan SSIDs: 10
...
Bitrates (non-HT):
* 1.0 Mbps
* 2.0 Mbps (short preamble supported)
* 5.5 Mbps (short preamble supported)
* 11.0 Mbps (short preamble supported)
* 6.0 Mbps
* 9.0 Mbps
* 12.0 Mbps
* 18.0 Mbps
* 24.0 Mbps
* 36.0 Mbps
* 48.0 Mbps
* 54.0 Mbps
Frequencies:
* 2412 MHz [1] (20.0 dBm)
* 2417 MHz [2] (20.0 dBm)
* 2422 MHz [3] (20.0 dBm)
* 2427 MHz [4] (20.0 dBm)
* 2432 MHz [5] (20.0 dBm)
* 2437 MHz [6] (20.0 dBm)
* 2442 MHz [7] (20.0 dBm)
* 2447 MHz [8] (20.0 dBm)
* 2452 MHz [9] (20.0 dBm)
* 2457 MHz [10] (20.0 dBm)
* 2462 MHz [11] (20.0 dBm)
* 2467 MHz [12] (20.0 dBm)
* 2472 MHz [13] (20.0 dBm)
* 2484 MHz [14] (20.0 dBm)

Ne reste que le problème de l'interface désactivée par défaut :
bertrand@abel:~ $ rfkill
ID TYPE DEVICESOFT  HARD
 0 wlan phy0   blocked unblocked
bertrand@abel:~ $

que j'ai réglé par un passage dans /etc/rc.local.

La borne wifi fonctionne à nouveau nominalement.

Bien cordialement,

JKB

PS: il est dommage que les noyaux fournis par debian ne démarrent pas
correctement sur rPI 3 car ils n'ont pas le bon format...