1. 程式人生 > >nfs根檔案系統中核心模組不能解除安裝

nfs根檔案系統中核心模組不能解除安裝

使用友善之臂的Micro2440板子
Image核心版本為 2.6.29.4
使用光碟自帶核心原始碼編譯模組
原始碼本版2.6.29.4 編譯模組時出現錯誤未找到autoconfig
進入原始碼路徑 進行make menuconfig 儲存config檔案
編譯模組成功
insmod的時候出現下面錯誤
version magic '2.6.29.4 mod_unload ARMv4 ' should be '2.6.29.4-FriendlyARM mod_unload ARMv4 '
insmod: cannot insert 'leddriver.ko': invalid module format

cp config_mini2440_n35 .config 匯入預設配置資訊
進入menuconfig 繼續配置
General config ->
Local version -> 加入 -FriendlyARM
退出儲存config 並且需要make一下 因為 編譯模組時使用的是相關庫檔案 並沒有直接使用原始檔案(自認為)
不然仍會出現如上錯誤
再次insmod    ok
rmmod 是 出現錯誤 rmmod: chdir(2.6.29.4-FriendlyARM): No such file or directory
原因是insmod等模組載入命令需要從lib/modules/(kernel version) 的目錄下載入模組,所以必須先建立此目錄,然後將模組放到此目錄下面,否則將出現以下兩種情況:
一是沒有建立lib/modules/2.6.26.6目錄,取決於核心版本號,將出現insmod: chdir(2.6.29.4-FriendlyARM): No such file or directory的錯誤

二是隻將模組簡單地放在根目錄或其它資料夾,沒有將其拷貝到指定的lib/modules/2.6.29.4-FriendlyARM/目錄,將出現 
insmod: module 'gpio_driver' not found錯誤 
進入/lib/modules/目錄 果真只有2.6.29.4目錄
mkdir 2.6.29.4-FriendlyARM
再次載入解除安裝模組 成功!
2011.5.26