ubuntu 10.04 編譯安裝最新版本linux-2.6.34內核

17號linux-2.6.34內核發佈,帶來了一些更新,想升級的朋友可以按照以下方法

第一步:準備工作

打開終端獲得root權限:

sudo su

然後安裝編譯內核時需要的工具:

apt-get install build-essential kernel-package libncurses5-dev libqt3-headers

build-essential (基本的編程庫(gcc, make等)
kernel-package (Debian 系統裏生成 kernel-image 的一些配置文件和工具)
libncurses5-dev (meke menuconfig要調用的)
libqt3-headers (make xconfig要調用的)
其他工具在升級過程中可以按提示安裝

第二步:下載內核源代碼linux-2.6.34.tar.gz

請到www.kernel.org官網下載最新版本linux-2.6.34.tar.gz內核
假設下載在root目錄,然後解壓到/usr/src/linux-2.6.34目錄裏
cd /usr/src
tar zxvf /root/linux-2.6.34.tar.gz

解壓後會在/usr/src生成新文件夾linux-2.6.34

第三步:配置

把正在使用中的內核配置文件/usr/src/linux-headers-2.6.32-22-generic/.config 拷到/usr/src/linux-2.6.34目錄下
cp /usr/src/linux-headers-2.6.32-22-generic/.config /usr/src/linux-2.6.34
執行:
cd /usr/src/linux-2.6.34
make menuconfig

終端會彈出一個配置界面
注意主菜單最後有兩項:load a kernel configuration…
save a kernel configuration…
先選第一項load ….,意思是,利用當前的內核配置詳單來設置將要編譯的內核,然後選save這一項保存,最後退出配置界面。

第四步:開如編譯安裝新內核

執行:sudo make mrproper (清除以前曾經編譯過的舊文件,如果你是第一次編譯,可不執行)
執行:sudo make (編譯,可以加-j4,如果你CPU是雙核心,夠牛的話,因爲可以提高速度)
然後:sudo make install
再:sudo make modules (編譯模塊)
再:sudo make modules_install (安裝模塊)
最後創建initrd文件:
mkinitramfs -o /boot/initrd.img-2.6.34

第五步:更新配置GRUB引導列表

sudo gedit /boot/grub/grub.cfg

我的grub.cfg添加如下:
menuentry ‘Ubuntu 10.04,Linux 2.6.34′ –class ubuntu –class gnu-linux –class gnu –class os {
recordfail
insmod ext2
set root=’(hd1,9)’
search –no-floppy –fs-uuid –set 501d3a42-1d52-4438-99bf-e679da605867
linux /vmlinuz-2.6.34 root=UUID=33883099-83a5-49f3-9c12-ee6a4d90da9e ro quiet splash
initrd /initrd.img-2.6.34
}
#以下是原2.6.32內核啓動項
menuentry ‘Ubuntu,Linux 2.6.32-22-generic’ –class ubuntu –class gnu-linux –class gnu –class os {
recordfail
insmod ext2
set root=’(hd1,9)’
search –no-floppy –fs-uuid –set 501d3a42-1d52-4438-99bf-e679da605867
linux /vmlinuz-2.6.32-22-generic root=UUID=33883099-83a5-49f3-9c12-ee6a4d90da9e ro quiet splash
initrd /initrd.img-2.6.32-22-generic
}

到此爲止,整個內核的編譯就全部完成啦。
不過也許你重啓系統時,雖然啓動菜單中增加了新內核2.6.34的啓動項,但極可能會啓動失敗,出現以下提示:

warning:can’t open directory /lib/modules/2.6.34/modules.dep,no such files or directory

此時不應氣餒,玩LINUX要有敢食螃蟹的勇氣和毅力,哈哈。靜下心,選擇從舊內核啓動登錄系統,然後執行以下命令(爲了避免輸入錯誤,最好複製下面的命令)修改後就能成功啓動新內核了。

######################################
sudo su (保證獲得root權限,否則會提示權限不夠,不能成功完成任務哦)
cd /boot
cp initrd.img-2.6.34 initrd-2.6.34.old (先做一個備份以防萬一,哈哈)
depmod -a
update-initramfs -k 2.6.34 -c
cd /tmp
gzip -dc /boot/initrd.img-2.6.34| cpio -id
touch lib/modules/2.6.34/modules.dep
find ./ | cpio -H newc -o > /boot/initrd.img-2.6.34.new
gzip /boot/initrd.img-2.6.34.new
cd /boot
mv initrd.img-2.6.34.new.gz initrd.img-2.6.34

######################################

完成上述操作後,重啓系統,選新內核啓動,會彈出一個小英文窗口,先選擇grub update grub …….(因爲無法截圖,記不清了,大概有這些字樣)這一項來更新GRUB,然後再選最上面的一項,好象是resum字樣的,不知道有沒有記錯,哈哈,請細心點吧。完成後重新啓動電腦,GRUB菜單會更新成有好多啓動項了,就象剛安裝完UB10.04時一樣,不過你可以登錄系統後再修改/boot/grub/grub.cfg來簡潔它。到此編譯安裝工作圓滿成功,謝謝各位看官的支持!!!

本文出自 “銀河其霖” 博客

原創文章如轉載請註明:轉自Ubuntu之家 {www.ubuntuhome.com}

本文地址:ubuntu 10.04 編譯安裝最新版本linux-2.6.34內核

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