Ubuntu核心經過長時間的發展,這裡我發表一下個人了解,下面就這就來講術Ubuntu核心。弄了很久,不停的google,終于把我的Ubuntu核心更新2.6.31.6版本了,下面我來分享一下我的經驗。順便贊一下google的強大~~
主機環境:Ubuntu desktop 9.04 如果是9.10的話方法是類似的。
***核心:linux-2.6.31.6 可以的www.kernel.org下載下傳 如果你用的是其他核心,方法應該是類似的
現在開始了:
1.将下載下傳過來linux源代碼包(tar.bz2包)解壓到/usr/src下。如果你還不知道怎麼解壓,請google之~解壓完畢後可以在/usr/src目錄下看到一個linux-2.6.31.6的檔案夾
2.轉移目錄至linux-2.6.31.6用如下指令:
cd /usr/src/linux-2.6.31.6
3.先配置Ubuntu核心:make menuconfig
具體怎麼配置我不清楚,不過這個基本上不用怎麼配置的,直接選***一項,save,exit就OK了
4.接着開始編譯核心:make
這是一個漫長的過程,慢慢等吧~~這個花了我将近一個半小時的時間
5.加入子產品:
make modules_install
6.生成可執行的Ubuntu核心引導檔案:
make bzImage(注意i字母要大寫)
7.将bzImage複制至/boot下:
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.31.6 //2.6.32Ubuntu核心的bzImage目錄為arch/x86/boot/bzImage
8.清除多餘的建立檔案:
make clean //這一步***還是留到***來做(現在可以先跳過這一步),這樣的話,即使你後面操作失誤也可以回到這裡重做,而不需要重新編譯
9.将System.map複制至/boot下:
cp System.map /boot/System.map-2.6.31.6
10.生成initrd.img 這個很重要,我開始弄錯了這個,害的我白重新開機了一次。指令:
cd /lib/modules/2.6.31.6
sudo mkinitramfs -o /boot/initrd.img-2.6.31.6 //2.6.32可以為sudo update-initramfs -c - k 2.6.32
11.自動查找新Ubuntu核心,并添加至grub引導:
sudo update-grub
這個過程也可以手動完成,方法是更改/boot/grub目錄下menu.lst檔案。這個檔案引導系統的啟動,結構很簡單,就是指定引導檔案而已,可以參考已有的啟動項修改,我的是在該檔案中添加如下内容:
titleUbuntu 9.04, kernel 2.6.31
uuid753efade-04e8-4e2c-8bbb-965e9792b2f5
kernel/boot/vmlinuz-2.6.31.6 root=UUID=753efade-04e8-4e2c-8bbb-965e9792b2f5 ro quiet splash
initrd/boot/initrd.img-2.6.31.6
Ubuntu核心9.04采用的是Grub2 啟動檔案用grub.cfg代替 該檔案所在目錄為/boot/grub 若手動添加為可參考如下:
menuentry "Ubuntu, Linux 2.6.32" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,3)
search --no-floppy --fs-uuid --set 3c611c5f-f941-4970-956f-fe4c7bf75714
linux/boot/vmlinuz-2.6.32 root=UUID=3c611c5f-f941-4970-956f-fe4c7bf75714 ro quiet splash
initrd/boot/initrd.img-2.6.32
12.重新開機電腦:reboot 你會發現啟動項裡多了一個Ubuntu 9.04, kernel 2.6.31(Ubuntu, Linux 2.6.32)的選項,選擇這個,進入系統。
完成~
【編輯推薦】
【責任編輯:鵬程 TEL:(010)68476606】
點贊 0