ubuntu 10.04 編譯升級版本到linux-3.16.60核心
一、安裝好ubuntu 10.4版本,該版本linux核心為2.6.32,我們需將它升級至3.16.60
檢視版本命令為: cat /proc/version
下載3.16.60的linux核心。將其解壓到/usr/src目錄下
教訓:覺得主機直接下載比在虛擬機器內下載快,於是我是先下載完順便解壓後再通過共享資料夾傳送至虛擬機器內。然後導致步驟四一直出現錯誤:make ***no rule to make target 。後來發現在主機解壓完的資料夾多了一層linux-3.16.60目錄。。所以make命令一直出錯,因為它只有在核心原始碼目錄下執行才不會出錯。所以,建議直接把linux-3.16.60.tar.xz壓縮包放入/usr/src目錄下
tar xvJf **.tar.xz /usr/src 命令將其解壓到/usr/src目錄下
然後輸入ls命令檢視目錄下檔案
如圖所示就表示成功了
二、安裝編譯核心時需要的工具:
輸入命令apt-get install build-essential kernel-package libncurses5-dev libqt3-headers
build-essential : 提供編譯程式必須用到的軟體包的列表資訊,當然 build-essential包安裝時需要的依賴包 有些你用不上,也可以不打包安裝,僅安裝自己需要的即可
kernel-package :Debian 系統裡生成 kernel-image 的一些配置檔案和工具
libncurses5-dev :meke menuconfig要呼叫的
libqt3-headers :make xconfig要呼叫的
可能錯誤:如果顯示couldn't find package 錯誤,並且大部分包都無法下載,那麼可以嘗試apt-get update 命令,
再重新安裝工具包。如果apt-get update 也失敗,並顯示
(圖源自網路)
apt-get的時候發現ubuntu和阿里雲均已經不提供該版本的源,所以需要找到其他的替代源,命令如下
sudo gedit /etc/apt/sources.list 開啟sources.list檔案,修改如下:
將源地址全部改為http://old-releases.ubuntu.com
關閉該檔案,重新執行apt-get update,成功。
三、sudo su 獲得root許可權
cd /usr/src/linux-3.16.60 進入linux核心檔案
cp /usr/src/linux-headers-2.6.32-22-generic/.config /usr/src/linux-2.6.34
把正在使用中的核心配置檔案/usr/src/linux-headers-2.6.32-22-generic/.config 拷到/usr/src/linux-2.6.34目錄下
四、make menuconfig
出現的配置介面點選save,再退出即可
五、make mrproper <非必須步驟,目的為清除以前曾經編譯過的舊檔案>
六、make clean
七 、make
八、make modules
九、make modules_install
十、make install
十一、cd /root (一定不能忘記哦,不然步驟十二儲存路徑不對)
mkinitramfs -o /boot/initrd.img-2.6.34
十二、sudo gedit /boot/grub/grub.cfg
然後新增linux3.16.60的載入程式
十三、reboot 成功!