您好,登錄后才能下訂單哦!
這篇文章的內(nèi)容主要圍繞Linux系統(tǒng)怎樣編譯ko文件進(jìn)行講述,文章內(nèi)容清晰易懂,條理清晰,非常適合新手學(xué)習(xí),值得大家去閱讀。感興趣的朋友可以跟隨小編一起閱讀吧。希望大家通過這篇文章有所收獲!
KO文件簡介:
Linux下加載驅(qū)動模塊都是.o文件, .o文件也就是object文件。
.ko文件是kernel object文件,與.o的區(qū)別在于其多了一些sections,比如.modinfo。
1.首先解壓下載的內(nèi)核源碼拷貝到/usr/src路徑下:
2.切換到root權(quán)限下進(jìn)入內(nèi)核源碼文件夾 cd /usr/src/linux-2.6.32:
3.配置config:
這里由于我的menuconfig無法啟動(根據(jù)網(wǎng)上參考的資料安裝了ncurses并且設(shè)置了桌面分辨率還是打不開,只能通過命令顯示頁面(ctrl+alt+f1)打開),我跳過了這一步直接進(jìn)行make oldconfig (最后說明設(shè)置編譯內(nèi)核的設(shè)置); 1
4.編譯內(nèi)核 make:
5.安裝模塊 make modules_install:
6.make install:
7.創(chuàng)建initrd文件:mkinitramfs -o /boot/initrd.img-2.6.32(這一步執(zhí)行后鏡像就生成了),不過這一次生成的鏡像重啟后無法進(jìn)入安裝的這個內(nèi)核···,這個執(zhí)行后繼續(xù)執(zhí)行下個命令;
8.更新鏡像:update-initramfs -c -k 2.6.32,到這里內(nèi)核安裝完成了(在這里膜拜下當(dāng)初參考的那位大神,本以為不同內(nèi)核版本的內(nèi)核安裝后不能進(jìn)入,這條指令改變了我的看法···);
9.更改啟動文件:進(jìn)入/boot/grub文件夾,輸入命令update-grub;
10.更改啟動文件:gedit /boot/grub/grub.cfg ,然后找到安裝的內(nèi)核信息位置放到原來內(nèi)核信息的上面(大括號內(nèi)為內(nèi)核的啟動信息);
11.更改內(nèi)核選擇頁面停留時間:還是在grub.cfg內(nèi)找到所有timeout進(jìn)行更改(單位為秒),if判斷處不需要更改;
重啟后,可以選擇自己的新內(nèi)核進(jìn)入了。
下面說下.ko文件的編譯情況…!參考書籍、以及查看網(wǎng)上的資料一直沒有編譯出.ko文件,這里說下我的編譯方式:
1.首先編寫一個Makefile:
2.進(jìn)行編譯文件: 我增加了make編譯指定,make -C /lib/modules/2.6.32/build M=/home/linux/work/Testlinux/Testhallo(這種方式成功編譯出了.ko文件在別的工程中也是如此);
Linux是一種免費使用和自由傳播的類UNIX操作系統(tǒng),是一個基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng),使用Linux能運行主要的Unix工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。
感謝你的閱讀,相信你對“Linux系統(tǒng)怎樣編譯ko文件”這一問題有一定的了解,快去動手實踐吧,如果想了解更多相關(guān)知識點,可以關(guān)注億速云網(wǎng)站!小編會繼續(xù)為大家?guī)砀玫奈恼拢?/p>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。