當前位置:首頁 » 操作系統 » linux自動載入模塊

linux自動載入模塊

發布時間: 2023-02-27 16:25:52

⑴ Linux怎麼在系統啟動時自動載入內核模塊

寫入/etc/rc.local

⑵ Linux下編寫和載入 .ko 文件(驅動模塊文件

一、.ko 文件介紹

.ko文件是kernel object文件(內核模塊),該文件的意義就是把內核的一些功能移動到內核外邊, 需要的時候插入內核,不需要時卸載。

二、優點

(1)這樣可以縮小內核體積;

(2)使用方便。

三、.ko文件一般的用處

(1)作為一個功能模塊,需要使用時,直接插入運行就行。如在imx6上連接模擬攝像頭,先運行模擬攝像頭對應的驅動模塊 camera.ko文件,然後對應的工程執行文件運行就行。

四、使用.ko 文件

1、載入驅動模塊test.ko

(1)方法一 

進入test.ko驅動模塊文件所在的目錄,然後直接   insmod  test.ko 

(2)方法二 

將test.ko文件拷貝到/lib/mole/#uname-r#/目錄下,這里,#uname -r#意思是,在終端中輸入 

uname -r後顯示的內核版本及名稱,例如mini2440中#uname-r#就是2.6.32.2-FriendlyARM。

然後 depmod(會在/lib/moles/#uname -r#/目錄下生成moles.dep和moles.dep.bb文件,表明模塊的依賴關系) 

最後 modprobe test(注意這里無需輸入.ko後綴) 即可

註:兩種方法的區別

modprobe和insmod類似,都是用來動態載入驅動模塊的,區別在於modprobe可以解決load mole時的依賴關系,它是通過/lib/moles/#uname -r/moles.dep(.bb)文件來查找依賴關系的;而insmod不能解決依賴問題。也就是說,如果你確定你要載入的驅動模塊不依賴其他驅動模塊的話,既可以insmod也可以modprobe,當然insmod可以在任何目錄下執行,更方便一些。而如果你要載入的驅動模塊還依賴其他ko驅動模塊的話,就只能將模塊拷貝到上述的特定目錄,depmod後再modprobe。

⑶ Linux 添加 net 模塊

Linux 添加 net 模塊的方法是:

1、創建c文件和makefile文件:在任意位置創建一個文件夾(我創建的名稱為/drive)mkdir drive後,輸入cd drive進入文件夾。輸入vim hello.c新建hello.c文件,輸入以下代碼。

操作使用工具:Linux。

使用工具版本:CentOS-7.0-x86_64-DVD-1503-01.iso。

Linux編譯內核模塊Makefile中指令的作用是:

obj-m:指定構建為可載入內核模塊的目標文件。 構建外部模塊的命令是:make -C<path_to_kernel_src>M=$PWD。

-C $(KERNEL_DIR):內核源所在的目錄。 「make」實際上會在執行時更改為指定的目錄,並在完成時更改回來。

KERNEL_DIR:指內核源目錄的路徑。

M = $ PWD:通知make正在構建外部模塊。 賦予「M」的值是外部模塊所在目錄的絕對路徑。

⑷ 如何查看Linux載入內置模塊的信息

一、找出內置模塊列表
要得到內置模塊列表,運行下面的命令。
$
cat
/lib/moles/$(uname
-r)/moles.builtin
你也可以用下面的命令來查看有哪些內置模塊:
二、找出內置模塊參數
每個內核模塊無論是內置的還是可載入的都有一系列的參數。對於可載入模塊,modinfo命令可以顯示它們的參數信息。然而這個命令對內置模塊沒有用。你會得到下面的錯誤。
modinfo:
ERROR:
Mole
XXXXXX
not
found.
如果你想要查看內置模塊的參數,以及它們的值,你可以在
/sys/mole
下檢查它們的內容。

/sys/mole目錄下,你可以找到內核模塊(包含內置和可載入的)命名的子目錄。進入每個模塊目錄,這里有個「parameters」目錄,列出了這個模塊所有的參數。
比如你要找出tcp_cubic(內核默認的TCP實現)模塊的參數。你可以這么做:
$
ls
/sys/mole/tcp_cubic/parameters
接著閱讀這個文件查看每個參數的值。
$
cat
/sys/mole/tcp_cubic/parameters/tcp_friendliness
以上就是Linux查看內置模塊的信息的方法了,這樣我們就可以知道Linux安裝了哪些內置模塊,還可以把沒用的模塊刪除掉,減輕系統的負擔。

⑸ Linux如何在系統啟動時自動載入模塊

rc.sysinit中有這樣的一段代碼:
# Load other user-defined moles
for file in /etc/sysconfig/moles/*.moles ; do
[ -x $file ] && $file
done
# Load moles (for backward compatibility with VARs)
if [ -f /etc/rc.moles ]; then
/etc/rc.moles
fi
可見只需要配置兩個地方的任何一個就可以了(以載入fuse內核模塊為例)
(1) 在/etc/sysconfig/moles/下面創建*.moles文件,參考已經有的*.moles文件,例如我寫創建文件my.moles,內容為modprobe fuse
記得最後chmod 755 my.moles
(2) 或者在/etc/rc.moles裡面加上modprobe fuse,沒有的話創建該文件。
然後reboot,lsmod | grep fuse驗證一下就OK了。

熱點內容
互聯網文件夾 發布:2025-08-14 15:55:21 瀏覽:697
python編譯為dll 發布:2025-08-14 15:43:40 瀏覽:792
機變酷卡編程 發布:2025-08-14 15:25:54 瀏覽:884
ftp亂碼上傳 發布:2025-08-14 15:25:52 瀏覽:731
sqlserver2008數據類型 發布:2025-08-14 15:25:03 瀏覽:721
魂斗羅歸來解壓縮 發布:2025-08-14 15:17:00 瀏覽:865
農村存儲 發布:2025-08-14 15:16:49 瀏覽:303
windows之間使用ftp傳輸 發布:2025-08-14 15:16:01 瀏覽:374
c語言寫的俄羅斯方塊 發布:2025-08-14 15:13:01 瀏覽:889
安卓怎麼跟別人合拍唱歌有自己聲音 發布:2025-08-14 14:57:41 瀏覽:987