mon système d'exploitation Ubuntu 12.04. J'ai écrit ce module de noyau et j'utilise la commande INSMOD et RMMOD, mais il n'y a rien dans / var / journal. Comment puis-je résoudre ce problème?
5 Réponses :
Vérifiez si syslog strong> Daemon Process est en cours d'exécution, car il s'agit du processus qui copie des messages d'impression à partir de la mémoire tampon d'anneau / journal de noyau à / var / log / messages strong> si je suis correct. Les messages d'impression peuvent être visibles en utilisant
Les distributions de Linux modernes n'utilisent plus RSYSLOG (ou tout autre démon Syslog). Ils s'appuient sur Journald qui fait partie de SystemD, donc le fichier / var / log / messages est manquant et que vous devez utiliser la commande de journalCTL pour lire le journal système. P>
Tout d'abord, vous devez vérifier si votre module est correctement chargé ou non, en utilisant cette commande puisque vous avez écrit un module de noyau, qui imprime un message. Les messages du noyau et de son module se trouvent dans / var / log / syslog ou vous pouvez afficher ce type de messages à l'aide de la commande DMESG.
Comme votre module imprime "Hello World 1.", vous devez utiliser la commande suivante pour voir le message à partir de votre module. P> dmesg | grep "Hello World 1."
Recherchez cela dans /etc/syslog.conf, les lignes * .info .... Celles-ci semblent contrôler ce qui est enregistré via Printk.
*.=info;*.=notice;*.=warn;\ auth,authpriv.none;\ cron,daemon.none;\ mail,news.none -/var/log/messages
J'ai essayé d'imprimer le tampon du noyau en tapant la commande suivante:
dmesg code>
Cela imprimera les données écrites dans imprimante code> p>
Essayez Kern_Alert au lieu de Kern_info pour voir s'il s'agit du fait que votre niveau de journal est réglé trop élevé. Vous pouvez également modifier votre niveau de journal.
Comment puis-je changer le niveau de journal?
klogd -c n, où n est le niveau. Il y a aussi d'autres moyens de la définir.
Echo '7 7 7'> / proc / sys / noyau / imprimante code> Voir: Kernel.txt