1.將下載過來linux源代碼包(tar.bz2包)解壓到/usr/src下。若是你還不知道怎麼解壓,請google之~解壓完畢後能夠在/usr/src目錄下看到一個linux-2.6.31.6的文件夾linux
2.轉移目錄至linux-2.6.31.6用以下命令:ubuntu
cd /usr/src/linux-2.6.31.6ui
3.先配置Ubuntu內核:google
make menuconfigget
具體怎麼配置我不清楚,不過這個基本上不用怎麼配置的,直接選最後一項,save,exit就OK了源碼
4.接着開始編譯Ubuntu內核:makeit
這是一個漫長的過程,慢慢等吧~~這個花了我將近一個半小時的時間編譯
5.加入模塊:class
make modules_installmodule
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文件。這個文件引導系統的啓動,結構很簡單,就是指定引導文件而已,能夠參考已有的啓動項修改,個人是在該文件中添加以下內容:
title Ubuntu 9.04, kernel 2.6.31
uuid 753efade-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
//9.10採用的是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)的選項,選擇這個,進入系統。
以上介紹Ubuntu內核更新。