close
root@debian60:~/exercise# cd chardev

root@debian60:~/exercise/chardev# vi chardev.c


root@debian60:~/exercise/chardev# make -C /lib/modules/2.6.32/build M=`pwd` modules
make: Entering directory `/usr/src/linux-source-2.6.32'
  CC [M]  /root/exercise/chardev/chardev.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /root/exercise/chardev/chardev.mod.o
  LD [M]  /root/exercise/chardev/chardev.ko
make: Leaving directory `/usr/src/linux-source-2.6.32'
root@debian60:~/exercise/chardev# rmmod chardev
root@debian60:~/exercise/chardev# insmod ./chardev.ko
root@debian60:~/exercise/chardev# cd test/
root@debian60:~/exercise/chardev/test# ls
Makefile  test.c
root@debian60:~/exercise/chardev/test# vi test.c
root@debian60:~/exercise/chardev/test# make
gcc test.c  -o test
test.c: In function ‘main’:
test.c:15: warning: incompatible implicit declaration of built-in function ‘printf’
test.c:16: warning: incompatible implicit declaration of built-in function ‘exit’
test.c:22: warning: incompatible implicit declaration of built-in function ‘printf’
test.c:23: warning: incompatible implicit declaration of built-in function ‘exit’
test.c:26: warning: incompatible implicit declaration of built-in function ‘printf’
root@debian60:~/exercise/chardev/test# vi test.c
root@debian60:~/exercise/chardev/test# vi test.c
root@debian60:~/exercise/chardev/test# make
gcc test.c  -o test
root@debian60:~/exercise/chardev/test# cat /proc/devices
Character devices:
  1 mem
  4 /dev/vc/0
  4 tty
  5 /dev/tty
  5 /dev/console
  5 /dev/ptmx
  7 vcs
 10 misc
 13 input
 14 sound/midi
 14 sound/dmmidi
 21 sg
 29 fb
116 alsa
128 ptm
136 pts
180 usb
189 usb_device
252 chardev
253 bsg
254 rtc

Block devices:
  2 fd
259 blkext
  7 loop
  8 sd
 11 sr
 65 sd
 66 sd
 67 sd
 68 sd
 69 sd
 70 sd
 71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
root@debian60:~/exercise/chardev/test# mknod /dev/hello c 252
mknod: missing operand after `252'
Try `mknod --help' for more information.
root@debian60:~/exercise/chardev/test# mknod /dev/hello c 252 0
root@debian60:~/exercise/chardev/test# cat /dev/hello
I already told you 0 times hello world
root@debian60:~/exercise/chardev/test# echo "hi niki" > /dev/hello
-bash: echo: write error: Invalid argument
root@debian60:~/exercise/chardev/test# 
arrow
arrow
    全站熱搜

    布拉怡 發表在 痞客邦 留言(0) 人氣()