Port série
Le port série est un simple mécanisme de communication de bas niveau entre ordinateurs.
Avantages:
- configuration simple une fois (si vous avez le matériel)
- fiable, car la transmission de données ne dépend que de simples fils et API du noyau, qui sont moins susceptibles d'être affectés par la panique que, par exemple, le sous-système TCP / IP.
Inconvénients:
- la plupart des ordinateurs portables modernes n'ont plus de port série (exposé?) pour économiser de l'espace. Mais les ordinateurs de bureau et les machines virtuelles le font toujours.
- vous avez également besoin d'un deuxième ordinateur avec port série pour recevoir les données, mais c'est le cas pour pratiquement toutes les cartes de développement intégrées telles que le Raspberry Pi.
- limité par la longueur du câble série de la couche physique, contrairement aux réseaux TCP / IP qui sont illimités. Cela peut cependant être contourné avec un périphérique qui fait l'interface entre série et TCP / IP. Mais il existe des appareils qui convertissent entre les deux.
Le port série ressemble à ceci:
et sur le RPI est disponible via le GPIO.
Ensuite, si vous disposez du matériel requis, connectez-vous du deuxième ordinateur à l'ordinateur principal avec:
screen /dev/ttyS0 115200
Cela vous donne en fait une coquille.
Puis sur la machine principale, lancez l'opération qui panique.
Lorsque la panique se produit, le vidage de panique est diffusé sur la deuxième machine, et vous pouvez tout voir en faisant défiler vers le haut sur le terminal.
Autres méthodes
Il existe également d'autres méthodes qui surmontent les limitations matérielles mentionnées ci-dessus, au prix d'être plus complexes et moins fiables. Méthodes notables:
- netdump: diffuse la panique sur TCP / IP. Dépend du sous-système TCP / IP qui n'est pas corrompu.
- kdump: semble être le mécanisme sous-jacent de linux-crashdump mentionné à: https://askubuntu.com/a/104793/52975 Démarre un deuxième noyau Linux pour examiner le noyau écrasé. Qu'est ce qui pourrait aller mal?! :-)
Voir également cette excellente réponse: https://unix.stackexchange.com/questions/60574/determining-cause-of-linux-kernel-panic
Débogage par étapes
En fin de compte, obtenir une sortie de panique nécessite que certaines fonctionnalités du noyau fonctionnent, et toute fonctionnalité du noyau pourrait être corrompue par la panique.
Mais qui a besoin de panique si vous pouvez utiliser GDB sur le noyau? Si vous êtes aussi hardcore, jetez un œil à:
Chaque problème tombe une fois que vous avez une visibilité complète (et suffisamment de temps!).