Differences
This shows you the differences between two versions of the page.
howto:kernel-4-5-debug-fr [2016/06/01 00:07] scara + lien version anglaise |
howto:kernel-4-5-debug-fr [2018/12/08 22:28] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | [[howto:kernel-4-5-debug|english version]] | ||
- | |||
- | **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 [[http://lists.infradead.org/pipermail/linux-arm-kernel/2016-March/415969.html|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 : | ||
- | <code> | ||
- | 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/ | ||
- | </code> | ||
- | 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 ! | ||
- | |||
- | Pour éviter qu'une mise à jour ultérieur 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** FIXME | ||
- | |||
- | ====== Brique non chiffrée ====== | ||
- | FIXME | ||