ubuntu中linux內核的編譯、更換與使用

本文轉載於網絡,侵權刪。

原文鏈接:https://www.cnblogs.com/jeffkuang/articles/3699955.html

由於需要在PC機上做一些Linux驅動的實驗,來學習《linux設備驅動開發技術及應用》這本書,最近在ubuntu上配置、編譯、安裝了更老一些的內核。原來ubuntu11.10自帶的內核是linux-3.0.0-12的,我改爲了linux-2.6.39.4版本的。過程主要參考《Ubuntu環境下編譯linux-2.6.36內核操作手冊》。

 

以下過程全部在root權限下操作。

1、 安裝必備軟件編譯工具:

#apt-get install libncurses5-dev build-essential kernel-package

 

注意:

(1)libncurses5-dev是爲之後配置內核能運行 make menuconfig程序做準備

Build-essential爲編譯工具,kernel-package是編譯內核工具

(2)如果系統顯示無法查找到這三個文件,輸入#apt-get update更新數據源。

 

2、 下載內核

www.kernel.org下載你需要的內核版本的源代碼:linux-3.6.39.4.tar.bz2

3、 將源碼放在windows下的共享目錄內,這樣在linux下就可以看到並操作了。

我在linux下的共享目錄爲:

linux@xiangpingli:~/桌面/share$ pwd

/home/linux/桌面/share

linux@xiangpingli:~/桌面/share$ ls

linux-2.6.39.4.tar.bz2  vimrc.tiny3

 

4、 將該壓縮包拷貝到/usr/src/目錄下解壓

5、 配置內核:

建議使用當前系統配置文件,使用當前系統配置文件方法:

 #cp /boot/config-XX  ./.config,然後進入menuconfig選擇load選項。

6、 編譯內核:

make,這可能需要2~3個小時的時間。

7、加入模塊

#make modules_install

8、生成可執行的內核引導文件

#make bzImage

#cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.39.4

9、將System.map複製到/boot下:

#cp System.map /boot/System.map-2.6.39.4

10、生成initrd.img文件

#cd /lib/modules/2.6.39.4

#update-initramfs –c –k 2.6.39.4

11、自動查找新內核,並添加至grub引導

#update-grub

12、修改/boot/grub/grub.cfg文件,將幾個timeout的值設爲10

這樣grub在引導的時候就會出現10秒的停留,如果有按鍵輸入,則可以對內核鏡像進行選擇

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章