1. 程式人生 > >ubuntu 10.04 編譯升級版本到linux-3.16.60核心

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  成功!