溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux怎么編譯ko文件

發(fā)布時(shí)間:2022-01-26 16:06:29 來源:億速云 閱讀:405 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“Linux怎么編譯ko文件”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Linux怎么編譯ko文件”吧!

Linux怎么編譯ko文件

ko文件簡介:

Linux下加載驅(qū)動(dòng)模塊都是.o文件, .o文件也就是object文件。

.ko文件是kernel object文件,與.o的區(qū)別在于其多了一些sections,比如.modinfo。該文件的意義就是把內(nèi)核的一些功能移動(dòng)到內(nèi)核外邊, 需要的時(shí)候插入內(nèi)核,不需要時(shí)卸載。

Linux系統(tǒng)編譯ko文件詳細(xì)教程:

1.首先解壓下載的內(nèi)核源碼拷貝到/usr/src路徑下: Linux怎么編譯ko文件

2.切換到root權(quán)限下進(jìn)入內(nèi)核源碼文件夾 cd /usr/src/linux-2.6.32: Linux怎么編譯ko文件

3.配置config:

 這里由于我的menuconfig無法啟動(dòng)(根據(jù)網(wǎng)上參考的資料安裝了ncurses并且設(shè)置了桌面分辨率還是打不開,只能通過命令顯示頁面(ctrl+alt+f1)打開),我跳過了這一步直接進(jìn)行make oldconfig (最后說明設(shè)置編譯內(nèi)核的設(shè)置);
 1

Linux怎么編譯ko文件

4.編譯內(nèi)核 make:

  Linux怎么編譯ko文件

5.安裝模塊 make modules_install:

  Linux怎么編譯ko文件

6.make install:

  Linux怎么編譯ko文件

7.創(chuàng)建initrd文件:mkinitramfs -o /boot/initrd.img-2.6.32(這一步執(zhí)行后鏡像就生成了),不過這一次生成的鏡像重啟后無法進(jìn)入安裝的這個(gè)內(nèi)核···,這個(gè)執(zhí)行后繼續(xù)執(zhí)行下個(gè)命令;

8.更新鏡像:update-initramfs -c -k 2.6.32,到這里內(nèi)核安裝完成了(在這里膜拜下當(dāng)初參考的那位大神,本以為不同內(nèi)核版本的內(nèi)核安裝后不能進(jìn)入,這條指令改變了我的看法···); Linux怎么編譯ko文件

9.更改啟動(dòng)文件:進(jìn)入/boot/grub文件夾,輸入命令update-grub; Linux怎么編譯ko文件

10.更改啟動(dòng)文件:gedit /boot/grub/grub.cfg ,然后找到安裝的內(nèi)核信息位置放到原來內(nèi)核信息的上面(大括號內(nèi)為內(nèi)核的啟動(dòng)信息);

  Linux怎么編譯ko文件

11.更改內(nèi)核選擇頁面停留時(shí)間:還是在grub.cfg內(nèi)找到所有timeout進(jìn)行更改(單位為秒),if判斷處不需要更改; Linux怎么編譯ko文件

重啟后,可以選擇自己的新內(nèi)核進(jìn)入了。

下面說下.ko文件的編譯情況

1.首先編寫一個(gè)Makefile:

  Linux怎么編譯ko文件

2.進(jìn)行編譯文件: 我增加了make編譯指定,make -C /lib/modules/2.6.32/build M=/home/linux/work/Testlinux/Testhallo(這種方式成功編譯出了.ko文件在別的工程中也是如此); Linux怎么編譯ko文件

感謝各位的閱讀,以上就是“Linux怎么編譯ko文件”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Linux怎么編譯ko文件這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI