Linux 驅動不固化,編譯成模組

2021-10-24 15:02:58 字數 569 閱讀 9250

需求,除錯usb gadget一直存在問題,想按照網上的例子,以模組載入的形式來試一下,所以想把預設的usb配置全部刪除,順便把沒有用到的sound等無用的裝置驅動一併刪除~

1. 對defconfig刪減了一通,刪除了usb所有的模組等,使用的開發板

通過命令「$ cat /lib/modules/$(uname -r)/modules.builtin」檢視以編譯進核心的模組,發現還有usb*.ko編譯進了核心,這個問題的主要原因是,核心的確刪除了usb模組,但檢視的命令,使用的是檔案系統中的builtin檔案來判斷的,之前偷懶,僅僅更新了dtb和zimage映象檔案,但應該還需要更改檔案系統中的與核心變動相關的內容。目前依賴開發板**商提供的編譯指令碼,會自動更新檔案系統裡面的內容,並把uboot, dtb, 系統映象,檔案系統等,一起打包成img燒入sd卡中,但每次更新所有的內容,太花費時間了,燒sd卡好像差不多十幾分鐘,所以投機取巧,只更新系統映象和裝置樹檔案dtb,這一步可以瞬間完成。。。

2.刪減後就是把usb驅動以模組的形式編譯並載入,直接用modprobe發現找不到。。。原因及解決方法如下

驅動程式 編譯進核心和編譯成模組

在 核心中增加程式需要完成以下五項工作 1.將編寫的源 複製到 linux 核心源 的相應目錄 2.在目錄的 kconfig 檔案中增加新源 對應專案的編譯配置選項 3.在目錄的 makefile 檔案中增加對新源 的編譯條目。4.在該目錄的上一級目錄的kconfig檔案中把上面第二步修改的kcon...

kbuild系統 編譯到核心和編譯成模組的區別

編譯到核心和編譯成模組在 中有什麼區別呢?從模組的 中看是一樣的。入口函式都是module init fun 但是 中的條件編譯會使巨集module init 在編譯到核心和編譯成模組的情況下替換成不同的 include linux init.h中可知 ifndef module define mo...

kbuild系統 編譯到核心和編譯成模組的區別

編譯到核心和編譯成模組在 中有什麼區別呢?從模組的 中看是一樣的。入口函式都是module init fun 但是 中的條件編譯會使巨集module init 在編譯到核心和編譯成模組的情況下替換成不同的 include linux init.h中可知 ifndef module define mo...