Hello, pour moi ça n’a pas fonctionné tel quel parce que le boot.script généré sur base du boot.scr existant ne fonctionnait pas avec un kernel 3.16.0-6-armmp
(ou autre noyau 3.x).
En effet les fichiers dtb
ne sont pas organisés de la même manière pour un noyau 4.x ou un noyau 3.x.
Exemple sur une 2.7 avec un kernel 3.16
# ls /boot/ -l
total 41048
-rw-r--r-- 1 root root 2342 jan 23 07:54 boot.scr
-rw-r--r-- 1 root root 2342 jan 23 07:42 boot.scr.bak
-rw-r--r-- 1 root root 153698 jui 15 2018 config-3.16.0-6-armmp
-rw-r--r-- 1 root root 153698 oct 4 18:11 config-3.16.0-7-armmp
lrwxrwxrwx 1 root root 18 jan 23 07:54 dtb -> dtb-3.16.0-7-armmp
-rw-r--r-- 1 root root 23031 jan 23 07:36 dtb-3.16.0-6-armmp
-rw-r--r-- 1 root root 23031 jan 23 07:36 dtb-3.16.0-6-armmp.bak
-rw-r--r-- 1 root root 23031 jan 23 07:54 dtb-3.16.0-7-armmp
-rw-r--r-- 1 root root 23031 jan 23 07:54 dtb-3.16.0-7-armmp.bak
-rw------- 1 root root 14774788 jan 23 07:35 initrd.img-3.16.0-6-armmp
-rw------- 1 root root 15611562 jan 23 07:54 initrd.img-3.16.0-7-armmp
-rw-r--r-- 1 root root 2414425 jui 15 2018 System.map-3.16.0-6-armmp
-rw-r--r-- 1 root root 2414245 oct 4 18:11 System.map-3.16.0-7-armmp
-rw-r--r-- 1 root root 3192328 jui 15 2018 vmlinuz-3.16.0-6-armmp
-rw-r--r-- 1 root root 3192072 oct 4 18:10 vmlinuz-3.16.0-7-armmp
Exemple sur une 3.4 avec un kernel 4.9
# ls /boot -l
total 47204
-rw-r--r-- 1 root root 2685 fév 26 21:25 boot.scr
-rw-r--r-- 1 root root 2685 fév 26 21:25 boot.scr.bak
-rw-r--r-- 1 root root 2613 fév 26 21:31 boot.script
-rw-r--r-- 1 root root 153698 fév 26 21:25 config-3.16.0-6-armmp
-rw-r--r-- 1 root root 189367 fév 26 21:25 config-4.9.0-8-armmp
lrwxrwxrwx 1 root root 48 fév 26 21:25 dtb -> dtbs/4.9.0-8-armmp/sun7i-a20-olinuxino-lime2.dtb
-rw-r--r-- 1 root root 23031 fév 26 21:25 dtb-3.16.0-4-armmp.bak
-rw-r--r-- 1 root root 23031 fév 26 21:25 dtb-3.16.0-6-armmp
-rw-r--r-- 1 root root 23031 fév 26 21:25 dtb-3.16.0-6-armmp.bak
lrwxrwxrwx 1 root root 48 fév 26 21:25 dtb-4.9.0-8-armmp -> dtbs/4.9.0-8-armmp/sun7i-a20-olinuxino-lime2.dtb
drwxr-xr-x 3 root root 4096 fév 26 21:25 dtbs
-rw------- 1 root root 15493865 fév 26 21:25 initrd.img-3.16.0-6-armmp
-rw------- 1 root root 20095196 fév 26 21:25 initrd.img-4.9.0-8-armmp
-rw-r--r-- 1 root root 2414425 fév 26 21:25 System.map-3.16.0-6-armmp
-rw-r--r-- 1 root root 2969829 fév 26 21:25 System.map-4.9.0-8-armmp
-rw-r--r-- 1 root root 3192328 fév 26 21:25 vmlinuz-3.16.0-6-armmp
-rw-r--r-- 1 root root 3716200 fév 26 21:25 vmlinuz-4.9.0-8-armmp
Et donc pour ma LIME2
Il est a noter que ma LIME2 en Yunohost 3.4 est issue d’une migration depuis Yunohost 2.x vers 3.x et je ne sais pas si une installation récente d’une Yunohost 3.x sur stretch contient encore les fichiers d’un noyau 3.16.x
J’ai utilisé un fichier boot.script.3.16.0-6
que vous pouvez trouver ici. Ce fichier a été récupéré avec la méthode dd
expliquée plus haut et issue d’une microSD contenant une Yunohost 2.7.14 pour LIME2 que j’avais.
Pour ma LIME2 en Yunohost 3.4 qui bloque sur le starting kernel
j’ai mis la carte MicroSD dans un PC GNU/Linux (pour pouvoir lire / écrire sur du ext4), ouvert un terminal, ouvert ma carte microSD, passé en root et fait un cd
vers ma carteSD et réalisé les opérations suivantes:
# scp -r /boot /boot.bad
# cd /boot
# rm dtb
# ln -s dtb-3.16.0-6-armmp dtb
# cp chemin_vers_boot.script.3.16.0-6_téléchargé boot.script
# mkimage -C none -A arm -T script -d boot.script boot.scr
# cd ../..
# umount la_carte_sd
L’utilitaire mkimage
est disponible via un apt install u-boot-tools
.
Si un # ls -l /boot
donne autre chose que du 3.16.0-6, il vous faudra en tenir compte et éditer le boot.script, corriger la ligne kvers='3.16.0-X-armmp'
et faire un ln -s dtb-3.16.0-X-armmb dtb
correspondant à votre version, tant que c’est pas une 4.x.
J’ai remis ma carte SD dans ma LIME2 et tadaaam:
# uname -a
Linux gnunation.be 3.16.0-6-armmp #1 SMP Debian 3.16.57-2 (2018-07-14) armv7l GNU/Linux
# yunohost --version
yunohost:
repo: stable
version: 3.4.2.4
yunohost-admin:
repo: stable
version: 3.4.2
moulinette:
repo: stable
version: 3.4.2
ssowat:
repo: stable
version: 3.4.2
Autre technique de barbare
Vous trouverez également ici deux archives contenant le /boot
pour une Lime1 et une Lime2.
Vous pouvez les extraire pour remplacer le /boot
sur les carte SD de vos briques bloquées, mais faites quand même une copie avant (soit de votre carte microSD, soit en renommant le /boot en /boot.bad par exemple).