Eu escrevi um módulo de hello word que executa um printk quando é carregado no nível ALERT e outro printk quando é liberado com o nível INFO:
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");
static int init_hello(void)
{
printk(KERN_ALERT "init called in hello\n");
return 0;
}
static void cleanup_hello(void)
{
printk(KERN_INFO "cleanup called in hello\n");
}
module_init(init_hello);
module_exit(cleanup_hello);
Então eu estava tentando filtrar as mensagens do kernel pelo seu nível, eu fiz isso usando o dmesg -l, mas eu quero ver as mensagens como elas aparecem, então eu estava usando
tail -f /var/log/kern.log
Usando este comando, posso ver as mensagens, mas como posso filtrar as mensagens por nível?
Estou usando o Ubuntu 14.04 com o kernel 3.16.4
Tentei imprimir as mensagens no console usando:
echo 7 7 7 7 > /proc/sys/kernel/printk
Mas não imprime nenhuma mensagem no console. Tentei definir o nível do console usando o alerta dmesg -n, mas também não funciona, por isso não tenho certeza do que definir o nível do console pelo dmesg ou / proc / sys / kernel / printk.
Como posso usar esses níveis com eficiência?
Obrigado pela sua ajuda