您好,登錄后才能下訂單哦!
這篇文章主要講解了“Linux怎么編譯ko文件”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Linux怎么編譯ko文件”吧!
Linux下加載驅動模塊都是.o文件, .o文件也就是object文件。
.ko文件是kernel object文件,與.o的區別在于其多了一些sections,比如.modinfo。該文件的意義就是把內核的一些功能移動到內核外邊, 需要的時候插入內核,不需要時卸載。
1.首先解壓下載的內核源碼拷貝到/usr/src路徑下:
2.切換到root權限下進入內核源碼文件夾 cd /usr/src/linux-2.6.32:
3.配置config:
這里由于我的menuconfig無法啟動(根據網上參考的資料安裝了ncurses并且設置了桌面分辨率還是打不開,只能通過命令顯示頁面(ctrl+alt+f1)打開),我跳過了這一步直接進行make oldconfig (最后說明設置編譯內核的設置); 1
4.編譯內核 make:
5.安裝模塊 make modules_install:
6.make install:
7.創建initrd文件:mkinitramfs -o /boot/initrd.img-2.6.32(這一步執行后鏡像就生成了),不過這一次生成的鏡像重啟后無法進入安裝的這個內核···,這個執行后繼續執行下個命令;
8.更新鏡像:update-initramfs -c -k 2.6.32,到這里內核安裝完成了(在這里膜拜下當初參考的那位大神,本以為不同內核版本的內核安裝后不能進入,這條指令改變了我的看法···);
9.更改啟動文件:進入/boot/grub文件夾,輸入命令update-grub;
10.更改啟動文件:gedit /boot/grub/grub.cfg ,然后找到安裝的內核信息位置放到原來內核信息的上面(大括號內為內核的啟動信息);
11.更改內核選擇頁面停留時間:還是在grub.cfg內找到所有timeout進行更改(單位為秒),if判斷處不需要更改;
重啟后,可以選擇自己的新內核進入了。
下面說下.ko文件的編譯情況
1.首先編寫一個Makefile:
2.進行編譯文件: 我增加了make編譯指定,make -C /lib/modules/2.6.32/build M=/home/linux/work/Testlinux/Testhallo(這種方式成功編譯出了.ko文件在別的工程中也是如此);
感謝各位的閱讀,以上就是“Linux怎么編譯ko文件”的內容了,經過本文的學習后,相信大家對Linux怎么編譯ko文件這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。