Ubuntu에서 Linux 커널을 다시 컴파일하고 이제 4.17.6으로 업그레이드했습니다. TCP/IP 스택의 일부, 특히 혼잡 제어 알고리즘(예: Vegas) 중 하나를 수정해야 합니다. 4.17.6으로 성공적으로 재컴파일한 후 코드를 수정하고 관련 모듈만 재컴파일해 보았지만 .txt 파일에 어떤 메시지도 표시되지 않습니다 dmesg
. 아래 단계에 따라 작동 printk
하는지 테스트하고 확인했지만 pr_debug
아무것도 작동하지 않았습니다.
수정된 파일 위에 추가 #define DEBUG
한 후 필요한 기능에 다음 줄을 추가했습니다 net/ipv4/ip_input.c
.net/ipv4/ip_output.c
printk(KERN_DEBUG "test:");
printk("test:");
pr_debug("test:");
다음 명령을 실행했습니다.
sudo make -j8 net
sudo make -j8 M=net
sudo make -j8 modules SUBDIRS=net
sudo make -j8 modules_install SUBDIRS=net
sudo reboot
다시 시작한 printk
후 echo 8 | sudo dd of=/proc/sys/kernel/printk
. 그런 다음 가상 머신에서 가상 머신으로 ping을 시도하고 웹 페이지를 열어보세요. 그런 다음 다음을 실행하여 메시지를 보십시오.dmesg | grep test:
그런데 아무런 메시지도 나오지 않습니다. 무엇이 문제일까요?