1
I는 다음과 같이 기록 간단한 모듈을 가지고커널 모듈 : 인쇄 할 메시지가 없습니다. init 함수가 호출되고 있습니까?
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
MODULE_LICENSE("GPL");
static int __init hellomod_init(void)
{
printk(KERN_DEBUG, "Hello, world!\n");
return 0;
}
static void __exit hellomod_exit(void)
{
printk(KERN_DEBUG, "Goodbye, world!");
}
module_init(hellomod_init);
module_exit(hellomod_exit);
및
$ cat /proc/sys/kernel/printk
7 7 7 7
어떤 수준 메시지가 출력되도록 도장. 로딩 또는 모듈을 언로드
dmesg를 의하면 어떤 경우에는 출력이 생성되지 않는다
모듈이로드되고 lsmod를 확인 할 수있다.
"KERN_DEBUG"을 낮은 레벨로 바꾸려고 시도했지만 출력이 없으므로 로그 수준이 문제가 아닌 것 같습니다.
어떻게 초기화 함수가 호출되는지 확인할 수 있습니까? 호출되지 않으면 내 오류는 무엇입니까?
저는 아치 리눅스에서 커널 버전 4.6.1-2를 실행하고 컴파일하고 있습니다.
전자 : 죄송합니다
'KERN_DEBUG', 단지'KERN_DEBUG "메시지". "뒤에 쉼표가 없습니다. –
아, 그건 당황 스럽네요. 고맙습니다! – wfc0003