리눅스 디바이스 드라이버에서여..

서비의 이미지

이 책에 처음에 hello world코드가 나오는데...

#define MODULE
#include <linux/module.h>

int init_module(void)  { printk("<1>Hello, world\n"); return 0; }
void cleanup_module(void) { printk("<1>Goodbye cruel world\n"); }

책에 보면 결과가

root# insmod hello.o
Hello, world

이렇게 결과가 나오는데

root# insmod hello.o
root#

전 이런식으로 아무것도 찍히지 않는 결과가 나오네여..ㅜ_
왜그럴까여....????

pom_choungung의 이미지

저도 잠깐 리눅스 디라이버 공부 할때 그런 문제가 있었스빈다..

insmod 하시기 전에 다른 console 창에서 tail -f /var/log/message

하시고 , insmod 해 보시면 메시지를 확인 할 수 있습니다..

아니면 printk("hello world\n") 에 다가 옵션을 주시면 되는데,

옵션 주는 것을 잊어 버렸네요.. ^^ 한번 찾아 보셔요

pynoos의 이미지

syslog 관련된 것이면,

/etc/syslog.conf 에다가

kern.* /dev/pts/0

라고 추가하시면 됩니다.

맨뒤는 현재

tty

라고 하면 나오는 것을 쓰시면 되죠...

syslog pid 에다가

kill -1 <pid of syslog>

한방 먹여주면 /etc/syslog.conf 가 반영됩니다.

login 할 때마다 반영시켜주시려면.. script를 잘 만들어도 될 것 같고..

근데 별로 좋은 방법은 아닌 것 같네요.. ^^

그냥 tail -f 가 더 좋은 방법인듯... :lol:

wind772의 이미지

음..저 메세지는 콘솔 화면에서 나타납니다..^^
X 윈도우 터미널에서 모듈을 로드하셨다면 콘솔화면을 확인해보세요..

===================================================
중요한건 얼마나 아느냐가 아니라 그것에 대한 열정이다.