Eu recompilei o kernel do Linux no Ubuntu e agora atualizei para o 4.17.6. Eu preciso modificar as partes da pilha TCP / IP, em um dos algoritmos de controle de congestionamento (por exemplo, Vegas). Após a recompilação bem-sucedida para o 4.17.6, tentei modificar o código e recompilar somente módulos relevantes, mas não consegui ver nenhuma mensagem no dmesg
. Eu segui as etapas a seguir para testar se o printk
e o pr_debug
funcionam, mas nenhum deles funcionou.
Eu adicionei #define DEBUG
sobre os arquivos modificados, depois adicionei as seguintes linhas às funções desejadas net/ipv4/ip_input.c
e net/ipv4/ip_output.c
:
printk(KERN_DEBUG "test:");
printk("test:");
pr_debug("test:");
Eu executei os seguintes comandos:
sudo make -j8 net
sudo make -j8 M=net
sudo make -j8 modules SUBDIRS=net
sudo make -j8 modules_install SUBDIRS=net
sudo reboot
Após a reinicialização, eu modifiquei o arquivo printk
para mostrar todos os níveis de mensagens executando echo 8 | sudo dd of=/proc/sys/kernel/printk
. Em seguida, tentei fazer ping da VM e para a VM e tentei abrir páginas da web. Em seguida, tentei ver a mensagem executando dmesg | grep test:
Mas nenhuma mensagem é mostrada, onde está o problema?