커널 메시지를 업데이트하는 데 문제가 있습니다. KERN ALERT 메시지가 업데이트되지 않는 것 같아서 커널이 손상되었을 수 있습니다.시스템 콜 튜토리얼 - Hello World
나는 "dmesg를"명령이라고이 표시 한 것입니다 :
Jan 20 18:18:59 cu-cs-vm kernel: [29194.126766] hello world
을하지만 helloworld.c 업데이트 한 후 :
#include <linux/kernel.h>
#include <linux/linkage.h>
asmlinkage long sys_helloworld(void)
{
printk(KERN_ALERT "Why isn't this working now???");
return 0;
}
을 그것은 여전히 인쇄 : 1월 20일 18시 35분 : 25 CU-CS-VM 커널 :
,691,363 : [30178.146268] 안녕하세요 세계이 그것을 테스트하는 내 스크립트입니다210
#include <unistd.h>
#include <stdio.h>
int main(){
int id;
id = syscall(318);
printf("should print out zero: %d\n", id);
return 0;
}
printf는 0을 인쇄하고 -1이 아니므로 커널 메시지가 "hello world"에서 "왜 지금 작동하지 않습니까?"라는 메시지가 나타나지 않는 이유는 무엇입니까? 나는 다시 컴파일했다. 누구든지 아이디어가 있다면, 나와 공유 할 수 있다면 고맙겠습니다. 감사!
modprobe를 사용하여 모듈을 다시로드 했습니까? –
modprobe에 익숙하지는 않지만 문제는 어떤 모듈이 문제인지 알 수 없다는 것입니다. 다시로드 할 항목이 확실하지 않습니다. – user2998285
'rmmod'를 사용하여 이전에로드 된 모듈을 언로드했는지 확인한 다음'insmod'를 사용하여 최근에 컴파일 된 모듈을 삽입하십시오 –