編譯完成了 hello-1.ko 之後,接下來我們就要執行他,而在載入之前先透過 modinfo 命令確認一下他的內容:
[root@Pomelo-14-61 LKMP]# modinfo hello-1.ko
filename: hello-1.ko
srcversion: 140276773A3090F6F33891F
depends:
vermagic: 2.6.32-279.22.1.el6.x86_64 SMP mod_unload modversions
接下來使用 insmod 來載入 kernel 中執行:
[root@Pomelo-14-61 LKMP]# insmod hello-1.ko
[root@Pomelo-14-61 LKMP]#
咦,怎麼沒有任何反應? 試試 lsmod 或是 cat /proc/modules 命令來找找他的蹤跡:
[root@Pomelo-14-61 LKMP]# lsmod | grep hello
hello_1 892 0
[root@Pomelo-14-61 LKMP]# cat /proc/modules | grep hello
hello_1 892 0 - Live 0xffffffffa012f000 (P)
呵,沒錯,hello_1 被載入 kernel 之中了。接著在 /var/log/messages 中確認一下輸出結果:
[root@Pomelo-14-61 LKMP]# tail -1 /var/log/messages
Oct 3 23:14:05 Pomelo-14-61 kernel: Hello world 1.
"Hello world”,耶,成功了。
在試試以 rmmod 命令移除他,同時一併檢查其狀態與輸出結果:
[root@Pomelo-14-61 LKMP]# rmmod hello_1
[root@Pomelo-14-61 LKMP]# lsmod | grep hello
[root@Pomelo-14-61 LKMP]# cat /proc/modules | grep hello
[root@Pomelo-14-61 LKMP]# tail -1 /var/log/messages
Oct 3 23:23:10 Pomelo-14-61 kernel: Goodbye world 1.