ubuntu命令安裝核心源碼及升級核心源碼 sudo apt-get install linux-source 會自動安裝目前的版本核心的原始碼到 /usr/src升級核心源碼: 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 www.2cto.com 3.先配置Ubuntu核心: make menuconfig 具體怎麼配置我不清楚,不過這個基本上不用怎麼配置的,直接選最後一項,save,exit就OK了 4.接著開始編譯Ubuntu核心: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 www.2cto.com 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 www.2cto.com 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核心更新。 作者 mutes