日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

《精通Linux设备驱动程序开发》——1.7 编译内核

發布時間:2025/5/22 linux 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《精通Linux设备驱动程序开发》——1.7 编译内核 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本節書摘來自異步社區《精通Linux設備驅動程序開發》一書中的第1章,第1.7節,作者:【印】Sreekrishnan Venkateswaran(斯里克里斯漢 溫卡特斯瓦蘭)著,更多章節內容可以訪問云棲社區“異步社區”公眾號查看

1.7 編譯內核

了解了內核源碼樹布局后,現在我們來對代碼稍做修改,并編譯和運行它。進入位于頂層的init/目錄,對初始化文件main.c做一項小的修改,即在start_kernel()函數的開頭加上一行打印信息,宣布你對北極熊的喜愛:

asmlinkage void __init start_kernel(void) {char *command_line;extern struct kernel_param __start___param[],__stop___param[];+  printk("Penguins are cute, but so are polar bears\n");/* ... */rest_init(); }

編譯內核準備工作已經就緒,進入內核源碼樹并運行清除命令:

bash> cd /usr/src/linux-X.Y.Z/ bash> make clean

接下來進行內核配置工作。這一步的主要工作是選擇要編譯的組件,你可以指定需要的組件以靜態還是動態鏈接的方式編譯進內核:

bash> make menuconfig
menuconfig是內核配置菜單的文本界面,使用make xconfig可以產生一個圖形界面。所選擇的配置信息被存放在內核源碼樹根目錄的.config文件中。如果不想從頭開始進行配置,可以使用 arch/your-arch/defconfig作為起點或者若你的體系架構支持多個平臺,也可以用)arch/your-arch/ configs/your-machine_defconfig文件作為起點。因此,如果正在為32位x86體系架構編譯內核,運行如下命令:

bash> cp arch/x86/configs/i386_defconfig .config
編譯內核并產生一個壓縮的啟動映像:

bash> cp arch/x86/boot/bzImage /boot/vmlinuz
現在,內核映像將位于arch/x86/boot/bzImage,更新啟動分區:

bash> /sbin/lilo Added linux *

也許需要根據新的啟動映像更新引導程序。如果正在使用GRUB這個引導程序,它將自動完成配置;如果正在使用LILO,請增加一個標記:

**<pre class="代碼無行號"><code><strong>****bash> /sbin/lilo**</strong> Added linux * </code></pre>

最后,重新啟動Linux并啟動到新內核:

bash> reboot
啟動后的第一條信息顯示了你添加的喜愛北極熊的那句話。 

總結

以上是生活随笔為你收集整理的《精通Linux设备驱动程序开发》——1.7 编译内核的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。