insmod ./key_test.ko # 載入模組
cat /proc/modules | grep key_test # 查看載入位址
lsmod # 列出所有模組與主/次裝置號
rmmod key_test # 卸載模組
key_test.c → /drivers/char//drivers/char/Kconfig 新增:config KEY_TEST
bool "key test"
---help---
This key test help.
bool 為勾選框;改 tristate 可支援模組化編譯(產生 .ko)。/drivers/char/Makefile 加入:obj-$(CONFIG_KEY_TEST) += key_test.omake menuconfig 勾選 Device Drivers → Character devices → key test,make zImage 產生新核心,重啟載入。mknod /dev/key_test c 121 0 # c=字元裝置,121=主裝置號,0=次裝置號
cat /dev/key_test # 相當於 open() 測試
# 或撰寫程式呼叫 open()/write() 等系統呼叫
驅動載入後必須建立對應裝置節點才能被使用者空間存取。