1、linux驅動動態載入的兩種方式
linux裝置驅動的動態載入可以使用insmod或modprobe兩種方式,insmod一次只能載入乙個特定的驅動,且需要驅動的絕對路徑,而modprobe則可以一次性將有依賴關係的驅動全部載入到核心,不需要驅動的具體位址。但需要將驅動拷貝到/lib/modules/$(uname -r)/目錄下。
示例:insmod ***.ko
modprobe ***.ko12
2、modprobe載入驅動時的問題
modprobe ***.ko
modprobe: can't change directory to '/lib/modules': no such file or directory12
3這裡提示找不到/lib/modules目錄,和前面介紹的一樣,它需要在指定目錄下載入ko。
解決:建立/lib/modules目錄:
mkdir /lib/modules
1重新執行上面的指令:
modprobe ***.ko
modprobe: can't change directory to '4.4.194': no such file or directory12
3這裡提示找不到4.4.194目錄,它對應linux核心的名稱,可以使用uname –r指令查詢。
uname -r
4.4.19412
3解決:建立4.4.194目錄
cd /lib/modules/
mkdir 4.4.19412
重新執行載入命令:
modprobe ***.ko
modprobe: can't open 'modules.dep': no such file or directory12
3這裡提示找不到modules.dep檔案。我們不需要手動建立該檔案,使用depmod指令即可自動生成。
depmod
-sh: depmod: command not found12
3這裡提示depmod指令找不到,這是因為預設情況下根檔案系統不支援該指令,需要我們自己新增。
depmod可以通過配置busybox來新增這個功能。但是我們是用buildroot自動完成根檔案系統的製作,busybox也隨之自動生成,這時和一般的配置就有所區別了:
1、進入buildroot目錄下,執行make menuconfig,發現第一欄有關於busybox的配置選項,如下圖所示:
cd buildroot/
make menuconfig12
可見,我們只需要配置完busybox後,儲存到這裡就可以了。在busybox的編譯目錄配置完成後,用busybox當前目錄的配置檔案.config替換掉package/busybox/busybox.config檔案就可以了。
2、找到output下的busybox目錄,我的是output/rockchip_rk1808/build/busybox-1.27.2/,進入目錄並執行make menuconfig進行busybox的配置:
cd output/rockchip_rk1808/build/busybox-1.27.2/
make menuconfig12
選中depmod,這裡選中modinfo是為了後面方便檢視ko的依賴關係,配置完成後,儲存退出,然後將當前目錄下的.config檔案覆蓋掉buildroot/package/busybox/busybox.config檔案,之後重新編譯buildroot,busybox將會自動更新並打包到檔案系統映象裡面。
3、測試depmod
將最新的檔案系統燒寫到開發板後,我們就可以使用depmod指令了。在沒有執行該指令時,在/lib/modules/ 4.4.194下是沒有任何檔案的,執行depmod命令後,該目錄下將會生成三個檔案:
modules.alias modules.dep modules.symbols
1我們再嘗試執行modprobe指令載入驅動:
modprobe ***.ko
modprobe: module x4412-beep.ko not found in modules.dep12
3這裡提示在modules.dep檔案中沒有發現我們載入的ko檔案,我們嘗試檢視一下modules.dep的內容:
cat modules.dep
1可見,裡面的內容為空。實際上,depmod指令會自動分析/lib/modules/$(uname -r)目錄下的可載入模組,並按照固定的格式填入modules.dep中。因此,我們可以先將需要載入的ko檔案拷貝到對應的目錄,再執行depmod指令就ok了。
————————————————
Qt載入MySql5 6驅動問題
作業系統 windows xp qt版本 qt opensource 4.8.5 開發軟體 vs2010 mysql的版本 5.6 安裝路徑 c program files mysql qt的安裝路徑 c qt 4.8.5 步驟一 安裝好vs2010,qt4.8.5,以及mysql5.6 詳細過程不...
mysql jdbc驅動問題
1 建立了乙個j2ee專案。2 將mysql的jdbc驅動拷貝到webcontent web inf lib 目錄下。3 在驅動jar包上點右鍵將jar包新增到構建路徑中。4 然後編寫與資料庫相關的 5 在實現類中新增main方法進行單元測試,各個方法都能正常執行。6 建立jsp頁面在其中建立物件呼...
QT SQLITE 驅動問題
在,使用sqlite時,發生,driver not load,錯誤。是因為,沒有找到,qsqlite 外掛程式的問題,在,qt學習中,會有一些功能以外掛程式的形式出現的,如,jpeg,mng,等。如果,大家有在使用qt creator 可以看看,它的目錄,其中就有,sqldrivers,imagef...