2025年6月17日 星期二

創建 cdev

這一題就是要創建一個 cdev,阿共那邊叫字符設備 (繁體中文怎麼翻我不知道),顧名思義就是這些設備一次只能傳一個 Byte,創建出來的設備在 /dev 目錄下,主要是用於用戶空間和實際設備的資料傳遞。




這題最難的就是 Module 安裝不進去,核心對這種形式的 Module 會需要數位簽章,用 dmesg 會看到這種錯誤訊息『module verification failed signature and/or required key missing taintin』,解決方式是把 CONFIG_MODULE_SIG CONFIG_MODULE_SIG_ALL 設成『n』。正如同和碩四樓 QTC Pink 說我不會 External Usb Port 一樣,CONFIG_MODULE_SIG CONFIG_MODULE_SIG_ALL 到底要在哪裡設定呢?這時我們必須注意 Makefile 的這一行『$(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules』,『shell uname -r』指的是編譯核心的版本,在我這邊是 6.8.0-60-gneric,所以各位就去你 \ 妳們相對應的目錄改『.config』就 ok 了!輸入『cat /proc/devices』 可看到我們掛載的字符設備




 

沒有留言:

張貼留言