root@vm:~/drivers/ch06/word_count/exercise# uname -a
Linux vm 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
root@vm:~/drivers/ch06/word_count/exercise# ls /usr/src/linux-headers-3.2.0-29-generic
arch drivers init kernel Module.symvers security ubuntu
block firmware ipc lib net sound usr
crypto fs Kbuild Makefile samples source virt
Documentation include Kconfig mm scripts tools
root@vm:~/drivers/ch06/word_count/exercise# make -C /usr/src/linux-headers-3.2.0-29-generic M=/root/drivers/ch06/word_count/exercise
make:进入目录'/usr/src/linux-headers-3.2.0-29-generic'
LD /root/drivers/ch06/word_count/exercise/built-in.o
CC [M] /root/drivers/ch06/word_count/exercise/word_count.o
Building modules, stage 2.
MODPOST 1 modules
CC /root/drivers/ch06/word_count/exercise/word_count.mod.o
LD [M] /root/drivers/ch06/word_count/exercise/word_count.ko
make:离开目录“/usr/src/linux-headers-3.2.0-29-generic”
root@vm:~/drivers/ch06/word_count/exercise# ls /dev
agpgart loop6 rfkill tty26 tty59 ttyS4
autofs loop7 rtc tty27 tty6 ttyS5
block loop-control rtc0 tty28 tty60 ttyS6
bsg lp0 sda tty29 tty61 ttyS7
btrfs-control mapper sda1 tty3 tty62 ttyS8
bus mcelog sda2 tty30 tty63 ttyS9
cdrom mem sda5 tty31 tty7 uinput
cdrw midi sg0 tty32 tty8 urandom
char net sg1 tty33 tty9 usbmon0
console network_latency shm tty34 ttyprintk usbmon1
core network_throughput snapshot tty35 ttyS0 usbmon2
cpu null snd tty36 ttyS1 vcs
cpu_dma_latency oldmem sr0 tty37 ttyS10 vcs1
disk parport0 stderr tty38 ttyS11 vcs2
dmmidi port stdin tty39 ttyS12 vcs3
dri ppp stdout tty4 ttyS13 vcs4
dvd psaux tty tty40 ttyS14 vcs5
dvdrw ptmx tty0 tty41 ttyS15 vcs6
ecryptfs pts tty1 tty42 ttyS16 vcs7
fb0 ram0 tty10 tty43 ttyS17 vcsa
fd ram1 tty11 tty44 ttyS18 vcsa1
fd0 ram10 tty12 tty45 ttyS19 vcsa2
full ram11 tty13 tty46 ttyS2 vcsa3
fuse ram12 tty14 tty47 ttyS20 vcsa4
hidraw0 ram13 tty15 tty48 ttyS21 vcsa5
hidraw1 ram14 tty16 tty49 ttyS22 vcsa6
hpet ram15 tty17 tty5 ttyS23 vcsa7
input ram2 tty18 tty50 ttyS24 vga_arbiter
kmsg ram3 tty19 tty51 ttyS25 vmci
log ram4 tty2 tty52 ttyS26 vsock
loop0 ram5 tty20 tty53 ttyS27 zero
loop1 ram6 tty21 tty54 ttyS28
loop2 ram7 tty22 tty55 ttyS29
loop3 ram8 tty23 tty56 ttyS3
loop4 ram9 tty24 tty57 ttyS30
loop5 random tty25 tty58 ttyS31
root@vm:~/drivers/ch06/word_count/exercise# insmod word_count.ko
root@vm:~/drivers/ch06/word_count/exercise# ls /dev
agpgart loop6 rfkill tty26 tty59 ttyS4
autofs loop7 rtc tty27 tty6 ttyS5
block loop-control rtc0 tty28 tty60 ttyS6
bsg lp0 sda tty29 tty61 ttyS7
btrfs-control mapper sda1 tty3 tty62 ttyS8
bus mcelog sda2 tty30 tty63 ttyS9
cdrom mem sda5 tty31 tty7 uinput
cdrw midi sg0 tty32 tty8 urandom
char net sg1 tty33 tty9 usbmon0
console network_latency shm tty34 ttyprintk usbmon1
core network_throughput snapshot tty35 ttyS0 usbmon2
cpu null snd tty36 ttyS1 vcs
cpu_dma_latency oldmem sr0 tty37 ttyS10 vcs1
disk parport0 stderr tty38 ttyS11 vcs2
dmmidi port stdin tty39 ttyS12 vcs3
dri ppp stdout tty4 ttyS13 vcs4
dvd psaux tty tty40 ttyS14 vcs5
dvdrw ptmx tty0 tty41 ttyS15 vcs6
ecryptfs pts tty1 tty42 ttyS16 vcs7
fb0 ram0 tty10 tty43 ttyS17 vcsa
fd ram1 tty11 tty44 ttyS18 vcsa1
fd0 ram10 tty12 tty45 ttyS19 vcsa2
full ram11 tty13 tty46 ttyS2 vcsa3
fuse ram12 tty14 tty47 ttyS20 vcsa4
hidraw0 ram13 tty15 tty48 ttyS21 vcsa5
hidraw1 ram14 tty16 tty49 ttyS22 vcsa6
hpet ram15 tty17 tty5 ttyS23 vcsa7
input ram2 tty18 tty50 ttyS24 vga_arbiter
kmsg ram3 tty19 tty51 ttyS25 vmci
log ram4 tty2 tty52 ttyS26 vsock
loop0 ram5 tty20 tty53 ttyS27 wordcount
loop1 ram6 tty21 tty54 ttyS28 zero
loop2 ram7 tty22 tty55 ttyS29
loop3 ram8 tty23 tty56 ttyS3
loop4 ram9 tty24 tty57 ttyS30
loop5 random tty25 tty58 ttyS31
root@vm:~/drivers/ch06/word_count/exercise# rmmod word_count
root@vm:~/drivers/ch06/word_count/exercise# lsmod
Module Size Used by
vmhgfs 63371 0
vsock 52475 0
vmwgfx 122198 2
ttm 76949 1 vmwgfx
drm 242038 3 vmwgfx,ttm
acpiphp 24231 0
snd_ens1371 25747 0
gameport 19693 1 snd_ens1371
snd_ac97_codec 134826 1 snd_ens1371
ac97_bus 12730 1 snd_ac97_codec
snd_pcm 97188 2 snd_ens1371,snd_ac97_codec
snd_seq_midi 13324 0
snd_rawmidi 30748 2 snd_ens1371,snd_seq_midi
vmw_balloon 12809 0
snd_seq_midi_event 14899 1 snd_seq_midi
rfcomm 47604 0
bnep 18281 2
bluetooth 180104 10 rfcomm,bnep
snd_seq 61896 2 snd_seq_midi,snd_seq_midi_event
ppdev 17113 0
psmouse 87692 0
serio_raw 13211 0
snd_timer 29990 2 snd_pcm,snd_seq
joydev 17693 0
snd_seq_device 14540 3 snd_seq_midi,snd_rawmidi,snd_seq
snd 78855 7 snd_ens1371,snd_ac97_codec,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
soundcore 15091 1 snd
parport_pc 32866 1
snd_page_alloc 18529 1 snd_pcm
vmci 82479 2 vmhgfs,vsock
i2c_piix4 13301 0
mac_hid 13253 0
shpchp 37277 0
lp 17799 0
parport 46562 3 ppdev,parport_pc,lp
floppy 70365 0
usbhid 47199 0
hid 99559 1 usbhid
pcnet32 42119 0
mptspi 22921 2
mptscsih 44882 1 mptspi
mptbase 103162 2 mptspi,mptscsih
vmw_pvscsi 22881 0
vmxnet3 45883 0
root@vm:~/drivers/ch06/word_count/exercise# lsmod | grep word_count
root@vm:~/drivers/ch06/word_count/exercise# insmod word_count.ko
root@vm:~/drivers/ch06/word_count/exercise# lsmod | grep word_count
word_count 20866 0
root@vm:~/drivers/ch06/word_count/exercise# ls /dev | grep wordcount
wordcount
root@vm:~/drivers/ch06/word_count/exercise# rmmod word_count
root@vm:~/drivers/ch06/word_count/exercise# ls /dev | grep wordcount
root@vm:~/drivers/ch06/word_count/exercise# dmesg | grep word_count
[ 2054.566806] word_count_init_success
[ 2085.051765] word_count_init_exit_success
[ 2118.929541] word_count_init_success
[ 2147.218771] word_count_init_exit_success
root@vm:~/drivers/ch06/word_count/exercise# dmesg |tail -n 6
[ 459.332029] pcnet32 0000:02:01.0: eth0: link up
[ 472.472591] eth0: no IPv6 routers present
[ 2054.566806] word_count_init_success
[ 2085.051765] word_count_init_exit_success
[ 2118.929541] word_count_init_success
[ 2147.218771] word_count_init_exit_success
root@vm:~/drivers/ch06/word_count/exercise#
Linux vm 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
root@vm:~/drivers/ch06/word_count/exercise# ls /usr/src/linux-headers-3.2.0-29-generic
arch drivers init kernel Module.symvers security ubuntu
block firmware ipc lib net sound usr
crypto fs Kbuild Makefile samples source virt
Documentation include Kconfig mm scripts tools
root@vm:~/drivers/ch06/word_count/exercise# make -C /usr/src/linux-headers-3.2.0-29-generic M=/root/drivers/ch06/word_count/exercise
make:进入目录'/usr/src/linux-headers-3.2.0-29-generic'
LD /root/drivers/ch06/word_count/exercise/built-in.o
CC [M] /root/drivers/ch06/word_count/exercise/word_count.o
Building modules, stage 2.
MODPOST 1 modules
CC /root/drivers/ch06/word_count/exercise/word_count.mod.o
LD [M] /root/drivers/ch06/word_count/exercise/word_count.ko
make:离开目录“/usr/src/linux-headers-3.2.0-29-generic”
root@vm:~/drivers/ch06/word_count/exercise# ls /dev
agpgart loop6 rfkill tty26 tty59 ttyS4
autofs loop7 rtc tty27 tty6 ttyS5
block loop-control rtc0 tty28 tty60 ttyS6
bsg lp0 sda tty29 tty61 ttyS7
btrfs-control mapper sda1 tty3 tty62 ttyS8
bus mcelog sda2 tty30 tty63 ttyS9
cdrom mem sda5 tty31 tty7 uinput
cdrw midi sg0 tty32 tty8 urandom
char net sg1 tty33 tty9 usbmon0
console network_latency shm tty34 ttyprintk usbmon1
core network_throughput snapshot tty35 ttyS0 usbmon2
cpu null snd tty36 ttyS1 vcs
cpu_dma_latency oldmem sr0 tty37 ttyS10 vcs1
disk parport0 stderr tty38 ttyS11 vcs2
dmmidi port stdin tty39 ttyS12 vcs3
dri ppp stdout tty4 ttyS13 vcs4
dvd psaux tty tty40 ttyS14 vcs5
dvdrw ptmx tty0 tty41 ttyS15 vcs6
ecryptfs pts tty1 tty42 ttyS16 vcs7
fb0 ram0 tty10 tty43 ttyS17 vcsa
fd ram1 tty11 tty44 ttyS18 vcsa1
fd0 ram10 tty12 tty45 ttyS19 vcsa2
full ram11 tty13 tty46 ttyS2 vcsa3
fuse ram12 tty14 tty47 ttyS20 vcsa4
hidraw0 ram13 tty15 tty48 ttyS21 vcsa5
hidraw1 ram14 tty16 tty49 ttyS22 vcsa6
hpet ram15 tty17 tty5 ttyS23 vcsa7
input ram2 tty18 tty50 ttyS24 vga_arbiter
kmsg ram3 tty19 tty51 ttyS25 vmci
log ram4 tty2 tty52 ttyS26 vsock
loop0 ram5 tty20 tty53 ttyS27 zero
loop1 ram6 tty21 tty54 ttyS28
loop2 ram7 tty22 tty55 ttyS29
loop3 ram8 tty23 tty56 ttyS3
loop4 ram9 tty24 tty57 ttyS30
loop5 random tty25 tty58 ttyS31
root@vm:~/drivers/ch06/word_count/exercise# insmod word_count.ko
root@vm:~/drivers/ch06/word_count/exercise# ls /dev
agpgart loop6 rfkill tty26 tty59 ttyS4
autofs loop7 rtc tty27 tty6 ttyS5
block loop-control rtc0 tty28 tty60 ttyS6
bsg lp0 sda tty29 tty61 ttyS7
btrfs-control mapper sda1 tty3 tty62 ttyS8
bus mcelog sda2 tty30 tty63 ttyS9
cdrom mem sda5 tty31 tty7 uinput
cdrw midi sg0 tty32 tty8 urandom
char net sg1 tty33 tty9 usbmon0
console network_latency shm tty34 ttyprintk usbmon1
core network_throughput snapshot tty35 ttyS0 usbmon2
cpu null snd tty36 ttyS1 vcs
cpu_dma_latency oldmem sr0 tty37 ttyS10 vcs1
disk parport0 stderr tty38 ttyS11 vcs2
dmmidi port stdin tty39 ttyS12 vcs3
dri ppp stdout tty4 ttyS13 vcs4
dvd psaux tty tty40 ttyS14 vcs5
dvdrw ptmx tty0 tty41 ttyS15 vcs6
ecryptfs pts tty1 tty42 ttyS16 vcs7
fb0 ram0 tty10 tty43 ttyS17 vcsa
fd ram1 tty11 tty44 ttyS18 vcsa1
fd0 ram10 tty12 tty45 ttyS19 vcsa2
full ram11 tty13 tty46 ttyS2 vcsa3
fuse ram12 tty14 tty47 ttyS20 vcsa4
hidraw0 ram13 tty15 tty48 ttyS21 vcsa5
hidraw1 ram14 tty16 tty49 ttyS22 vcsa6
hpet ram15 tty17 tty5 ttyS23 vcsa7
input ram2 tty18 tty50 ttyS24 vga_arbiter
kmsg ram3 tty19 tty51 ttyS25 vmci
log ram4 tty2 tty52 ttyS26 vsock
loop0 ram5 tty20 tty53 ttyS27 wordcount
loop1 ram6 tty21 tty54 ttyS28 zero
loop2 ram7 tty22 tty55 ttyS29
loop3 ram8 tty23 tty56 ttyS3
loop4 ram9 tty24 tty57 ttyS30
loop5 random tty25 tty58 ttyS31
root@vm:~/drivers/ch06/word_count/exercise# rmmod word_count
root@vm:~/drivers/ch06/word_count/exercise# lsmod
Module Size Used by
vmhgfs 63371 0
vsock 52475 0
vmwgfx 122198 2
ttm 76949 1 vmwgfx
drm 242038 3 vmwgfx,ttm
acpiphp 24231 0
snd_ens1371 25747 0
gameport 19693 1 snd_ens1371
snd_ac97_codec 134826 1 snd_ens1371
ac97_bus 12730 1 snd_ac97_codec
snd_pcm 97188 2 snd_ens1371,snd_ac97_codec
snd_seq_midi 13324 0
snd_rawmidi 30748 2 snd_ens1371,snd_seq_midi
vmw_balloon 12809 0
snd_seq_midi_event 14899 1 snd_seq_midi
rfcomm 47604 0
bnep 18281 2
bluetooth 180104 10 rfcomm,bnep
snd_seq 61896 2 snd_seq_midi,snd_seq_midi_event
ppdev 17113 0
psmouse 87692 0
serio_raw 13211 0
snd_timer 29990 2 snd_pcm,snd_seq
joydev 17693 0
snd_seq_device 14540 3 snd_seq_midi,snd_rawmidi,snd_seq
snd 78855 7 snd_ens1371,snd_ac97_codec,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
soundcore 15091 1 snd
parport_pc 32866 1
snd_page_alloc 18529 1 snd_pcm
vmci 82479 2 vmhgfs,vsock
i2c_piix4 13301 0
mac_hid 13253 0
shpchp 37277 0
lp 17799 0
parport 46562 3 ppdev,parport_pc,lp
floppy 70365 0
usbhid 47199 0
hid 99559 1 usbhid
pcnet32 42119 0
mptspi 22921 2
mptscsih 44882 1 mptspi
mptbase 103162 2 mptspi,mptscsih
vmw_pvscsi 22881 0
vmxnet3 45883 0
root@vm:~/drivers/ch06/word_count/exercise# lsmod | grep word_count
root@vm:~/drivers/ch06/word_count/exercise# insmod word_count.ko
root@vm:~/drivers/ch06/word_count/exercise# lsmod | grep word_count
word_count 20866 0
root@vm:~/drivers/ch06/word_count/exercise# ls /dev | grep wordcount
wordcount
root@vm:~/drivers/ch06/word_count/exercise# rmmod word_count
root@vm:~/drivers/ch06/word_count/exercise# ls /dev | grep wordcount
root@vm:~/drivers/ch06/word_count/exercise# dmesg | grep word_count
[ 2054.566806] word_count_init_success
[ 2085.051765] word_count_init_exit_success
[ 2118.929541] word_count_init_success
[ 2147.218771] word_count_init_exit_success
root@vm:~/drivers/ch06/word_count/exercise# dmesg |tail -n 6
[ 459.332029] pcnet32 0000:02:01.0: eth0: link up
[ 472.472591] eth0: no IPv6 routers present
[ 2054.566806] word_count_init_success
[ 2085.051765] word_count_init_exit_success
[ 2118.929541] word_count_init_success
[ 2147.218771] word_count_init_exit_success
root@vm:~/drivers/ch06/word_count/exercise#