新聞中心
Linux 添加 net 模塊
Linux 添加 net 模塊的方法是:
洛陽(yáng)網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)于2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
1、創(chuàng)建c文件和makefile文件:在任意位置創(chuàng)建一個(gè)文件夾(我創(chuàng)建的名稱為/drive)mkdir drive后,輸入cd drive?進(jìn)入文件夾。輸入vim hello.c新建hello.c文件,輸入以下代碼。
2、輸入?vim Makefile(注意首字母大寫(xiě),否則編譯過(guò)程中可能會(huì)報(bào)錯(cuò)),敲下以下代碼。
3、編譯makefile文件:直接在/drive(我自己創(chuàng)建的文件夾)下輸入make指令即可(只輸入這一個(gè)單詞)。
4、隱藏錯(cuò)誤:通過(guò)指令dmesg |tail -1查看模塊是否添加成功時(shí),遇到了以下報(bào)錯(cuò)。
5、最后再通過(guò)dmesg |tail -1指令。
操作使用工具:Linux。
使用工具版本:CentOS-7.0-x86_64-DVD-1503-01.iso。
Linux編譯內(nèi)核模塊Makefile中指令的作用是:
obj-m:指定構(gòu)建為可加載內(nèi)核模塊的目標(biāo)文件。 構(gòu)建外部模塊的命令是:make -Cpath_to_kernel_srcM=$PWD。
-C $(KERNEL_DIR):內(nèi)核源所在的目錄。 “make”實(shí)際上會(huì)在執(zhí)行時(shí)更改為指定的目錄,并在完成時(shí)更改回來(lái)。
KERNEL_DIR:指內(nèi)核源目錄的路徑。
M = $ PWD:通知make正在構(gòu)建外部模塊。 賦予“M”的值是外部模塊所在目錄的絕對(duì)路徑。
在linux中 加載/卸載模塊可以使用什么命令
insmod :加載模塊,該命令可以加入適當(dāng)?shù)膮?shù);
rmmod:卸載模塊;
Linux下編寫(xiě)和加載 .ko 文件(驅(qū)動(dòng)模塊文件
一、.ko 文件介紹
.ko文件是kernel object文件(內(nèi)核模塊),該文件的意義就是把內(nèi)核的一些功能移動(dòng)到內(nèi)核外邊, 需要的時(shí)候插入內(nèi)核,不需要時(shí)卸載。
二、優(yōu)點(diǎn)
(1)這樣可以縮小內(nèi)核體積;
(2)使用方便。
三、.ko文件一般的用處
(1)作為一個(gè)功能模塊,需要使用時(shí),直接插入運(yùn)行就行。如在imx6上連接模擬攝像頭,先運(yùn)行模擬攝像頭對(duì)應(yīng)的驅(qū)動(dòng)模塊 camera.ko文件,然后對(duì)應(yīng)的工程執(zhí)行文件運(yùn)行就行。
四、使用.ko 文件
1、加載驅(qū)動(dòng)模塊test.ko
(1)方法一?
進(jìn)入test.ko驅(qū)動(dòng)模塊文件所在的目錄,然后直接? ?insmod? test.ko?
(2)方法二?
將test.ko文件拷貝到/lib/module/#uname-r#/目錄下,這里,#uname -r#意思是,在終端中輸入?
uname -r后顯示的內(nèi)核版本及名稱,例如mini2440中#uname-r#就是2.6.32.2-FriendlyARM。
然后?depmod(會(huì)在/lib/modules/#uname -r#/目錄下生成modules.dep和modules.dep.bb文件,表明模塊的依賴關(guān)系)?
最后?modprobe test(注意這里無(wú)需輸入.ko后綴)?即可
注:兩種方法的區(qū)別
modprobe和insmod類似,都是用來(lái)動(dòng)態(tài)加載驅(qū)動(dòng)模塊的,區(qū)別在于modprobe可以解決load module時(shí)的依賴關(guān)系,它是通過(guò)/lib/modules/#uname -r/modules.dep(.bb)文件來(lái)查找依賴關(guān)系的;而insmod不能解決依賴問(wèn)題。也就是說(shuō),如果你確定你要加載的驅(qū)動(dòng)模塊不依賴其他驅(qū)動(dòng)模塊的話,既可以insmod也可以modprobe,當(dāng)然insmod可以在任何目錄下執(zhí)行,更方便一些。而如果你要加載的驅(qū)動(dòng)模塊還依賴其他ko驅(qū)動(dòng)模塊的話,就只能將模塊拷貝到上述的特定目錄,depmod后再modprobe。
網(wǎng)頁(yè)標(biāo)題:linux加載模塊命令 linux加載驅(qū)動(dòng)模塊加載
瀏覽地址:http://fisionsoft.com.cn/article/doooshi.html