[ 3366.384586] [Module Message] Hello, Module.
[ 3379.289982] [Module Message] Do you really want to break up with me?
[ 3389.297315] [Module Message] Hello, Module.
[ 3490.967338] [Module Message] Do you really want to break up with me?
[ 3506.262564] No module found in object
[ 3508.662287] [Module Message] Hello, Module.
[ 3588.908980] [Module Message] Do you really want to break up with me?
[ 3779.547087] [Module Message] Hello, Module.
[ 4005.337768] [Module Message] Do you really want to break up with me?
[ 4268.245339] Hellow
[ 4276.755801] Goodbye
[ 4279.725273] Hellow
[ 4299.176746] Goodbye
[ 4403.660252] Hellow
[ 4417.263115] Goodbye
[ 8471.025355] Hellow
일단 Arcyze님이 말씀하신 것처럼 printk의 LOG_LEVEL을 높여서 무조건 찍게끔 하는 방식이 있는데요. $KERNEL_SOURCE/include/linux/kernel.h에 보시면, KERNEL의 LOG_LEVEL에 대해서 8가지가 있습니다. 이걸 이용하셔도 되고, 만약 그게 싫으시다면, /etc/sysctl.conf에서 kernel.printk 정보를 수정하셔서 사용하셔도 됩니다. kernel.printk 역시 LOG_LEVEL 정보에 따라 터미널에도 뿌릴지를 결정하는 것이니, 참고하시면 될거 같습니다.
------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.
------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.
dmesg로는
dmesg로는 확인해보셨나요..?
dmesg를 쳤더니..
[ 3366.384586] [Module Message] Hello, Module.
[ 3379.289982] [Module Message] Do you really want to break up with me?
[ 3389.297315] [Module Message] Hello, Module.
[ 3490.967338] [Module Message] Do you really want to break up with me?
[ 3506.262564] No module found in object
[ 3508.662287] [Module Message] Hello, Module.
[ 3588.908980] [Module Message] Do you really want to break up with me?
[ 3779.547087] [Module Message] Hello, Module.
[ 4005.337768] [Module Message] Do you really want to break up with me?
[ 4268.245339] Hellow
[ 4276.755801] Goodbye
[ 4279.725273] Hellow
[ 4299.176746] Goodbye
[ 4403.660252] Hellow
[ 4417.263115] Goodbye
[ 8471.025355] Hellow
맨 밑에 몇줄이 이렇게 나오긴 하는데요......
이것들이 제가 나오길 원했던 녀석들은 맞거든요?;;;
근데 왜 insmod로 했을때는 안 나오는 건가요?.ㅠ.ㅠ
hellow 가 출력되는
hellow 가 출력되는 위치가 stdout 이 아니기 때문이죠.
dmesg 에 출력되었잖아요.
emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇개 안되요~
https://xenosi.de/
헉.....
..ㅠ..ㅠ.
그면 stdout에 출력하게는 할수 없는 건가요?.
리눅스를 공부한게 아니라 갑자기 리눅스에 이케저케 해서 과제를 하세욤..
이라고 나온 덕에ㅠ.ㅠ. 시킨대로 그대로 따라했는데도 원하는게 안나와서 좌절한 상태였거든요.ㅠ.ㅠ.
터미널에 나오게 하려면 뭔가 수정해야 하는 건가요?
현재 터미널은
현재 터미널은 /dev/stdout 인데, 모듈에서도 될것 같지는 않고,
/dev/fd/0 에 write 하면 broadcast 됩니다.
모든 터미널(콘솔)에 메세지가 출력됩니다.
emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇개 안되요~
https://xenosi.de/
... 이대로 제출하면 F
... 이대로 제출하면 F 맞습니다.
insmod 하는 과정동안만.
insmod 를 background 로 실행하지 않았다면.
OTL
printk 를 사용해서 출력하셨다면..
printk("<0> hello\n");
이렇게 출력하시면 아마 될겁니다.<0>은 메시지 파일에 씀과 동시에 터미널에 출력.
printk는 원래 로그데몬이 사용하는 메시지 파일에 쓰는걸로 알고 있고
dmesg는 그 메시지 파일을 출력해주는걸로 알고 있거든요 ^^;
<0> 부터 <6> 까지(맞나-_-;) 지정 가능 했던것 같네요. 나머지는 실험해보세요~
See also
See also http://www.prabusurendra.com/tutors/lt2/lt2.html :>
"<0>"이면 시스템이 아주 위험하다는 메시지를 보낸다는 것이네요.
온갖 참된 삶은 만남이다 --Martin Buber
일단 Arcyze님이
일단 Arcyze님이 말씀하신 것처럼 printk의 LOG_LEVEL을 높여서 무조건 찍게끔 하는 방식이 있는데요. $KERNEL_SOURCE/include/linux/kernel.h에 보시면, KERNEL의 LOG_LEVEL에 대해서 8가지가 있습니다. 이걸 이용하셔도 되고, 만약 그게 싫으시다면, /etc/sysctl.conf에서 kernel.printk 정보를 수정하셔서 사용하셔도 됩니다. kernel.printk 역시 LOG_LEVEL 정보에 따라 터미널에도 뿌릴지를 결정하는 것이니, 참고하시면 될거 같습니다.
------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.
------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.
댓글 달기