Avril 2016 : la sortie du noyau 4.5.0-1-armmp dans le dépôt testing utilisé sur les images de la brique diffusées jusque-là embarque un bug sur l'architecture arm :
- les briques non chiffrées connaissent des problèmes d'interface réseaux ;
- les briques chiffrées ne démarrent plus du tout.
Débug brique chiffrée
Prérequis : mkimage, qui fait partie du paquet u-tools.
Une fois que votre brique ne peut plus redémarrer, le dépannage consiste à la configurer pour redémarrer sur la précédente version du noyau qui fonctionnait bien. Il va pour cela faire des modifications dans le /boot , qui est sur une partition non chiffrée dédiée de la carte micro-SD (la partition principale étant chiffrée).
Sortir la carte mémoire de la brique et l'insérer dans un ordinateur sous GNU/Linux. Ouvrir un terminal en tant qu'administrateur root (ou utiliser sudo) et aller dans le point de montage correspondant à la partition de boot de la carte SD (qui fait 511MB, soit 464Mo).
Pour commencer, on va regarder les versions présentes du noyau :
# ls -al dtbs/
Ici cela renvoie entre autre :
drwxr-xr-x 2 root root 1024 avril 22 01:55 4.1.0-2-armmp/ drwxr-xr-x 2 root root 1024 avril 22 09:41 4.5.0-1-armmp/
Ici, le dernier noyau fonctionnel était donc un noyau 4.1.0-2 (ce qui est a priori la version présente dans une installation fraiche de brique).
Copier le fichier boot.src :
# dd bs=1 skip=72 if=boot.scr of=boot.script
Ensuite sauvegarder le boot.src en le renommant :
# mv boot.scr boot.scr.bug
Puis éditer le fichier boot.script avec votre éditeur préféré (ici vi) :
# vi boot.script
Et changer la version du noyau à la ligne 44 avec la dernière version fonctionnelle présente, déterminée précédemment :
:%s/4.5.0-1-armmp/4.1.0-2-armmp/g
Puis reconstruire le boot.src :
# mkimage -A arm -T script -C none -n "Debug boot.scr" -d boot.script boot.scr
Et enfin créer le lien symbolique suivant pour dtb :
# ln -svf dtbs/4.1.0-2-armmp/sun7i-a20-olinuxino-lime.dtb dtb
Votre brique est maintenant prête à redémarrer !
Vous pouvez maintenant éxécuter l'application DoctorCube que vous pouvez trouver dans la liste des applications officielle des YunoHost afin de réparer définitivement votre Brique Internet.
Pour éviter qu'une mise à jour ultérieure ne casse à nouveau votre brique, il peut-être judicieux de bloquer la mise à jour du noyau.
Connectez-vous en ssh sur votre brique et bloquez les mises à jour du paquet linux-image :
# apt-mark hold linux-image
Vous pouvez ainsi continuer à faire les autres mises à jour du système sans soucis.
Il n'y a plus qu'à attendre l'application Ynh qui permettra de fixer ça avec un simple clic (en cours de dev <3).
Note : trouver la commande pour inverser le apt-mark hold
Brique non chiffrée