linux kernel 升級

1.解壓

tar -xf linux-3.10.58.tar.xz

2.更新當前系統

sudo yum update

說明:執行此操作會升級系統版本,建議不要執行

3.安裝編譯內核所需要的軟件包

sudo yum groupinstall "Development Tools"  # 一口氣安裝編譯時所需的一切工具
sudo yum install ncurses-devel  #必須這樣才能讓 make *config 這個指令正確地執行。
sudo yum install qt-devel       #如果你沒有 X 環境,這一條可以不用
sudo yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel  #創建CentOS-6 內核時需要它們

4.uname -r

  2.6.32-358.11.1.el6.x86_64    #查看當前系統內核

5.獲取並解壓內核源碼,配置編譯項,將當前系統的配置文件拷貝到當前目錄。

   tar -xf linux-3.10.58.tar.xz -C /usr/src/

   cd /usr/src/linux-3.10.58/

   cp /boot/config-2.6.32-358.11.1.el6.x86_64 ./.config  # 此處boot下的這個config文件要根據實際,未必是這個文件名的文件。

6.使用舊內核配置,並自動接受每個新增選項的默認設置

sh -c 'yes "" | makeoldconfig'   # make oldconfig會讀取當前目錄下的.config文件,在.config文件裏沒有找到的選項則提示用戶填寫,然後備份.config文件爲.config.old,並生成新的.config文件

 http://stackoverflow.com/questions/4178526/what-does-make-oldconfig-do-exactly-linux-kernel-makefile

7.編譯

sudo make -j16  bzImage    #生成內核文件
sudo make -j16 modules         #編譯模塊
sudo make -j16 modules_install   #編譯安裝模塊

要嚴格按照這個順序進行編譯,不能合併成一句,sudo make -j8 bzImage modules modules_install

-j後面的數字是線程數,用於加快編譯速度,一般的經驗是,有多少G內存,就填寫那個數字, free -m查看內存大小,我的設備是16G內存,則爲-j16

8.安裝後重啓

sudomake install     #如果彈出問題1.如下,需重新升級內核,升級成功。

如果出現了 ERROR: modinfo: could not find module xxx,數量少的話,可以忽略。

9.修改Grub引導順序

安裝完成後,需要修改Grub引導順序,讓新安裝的內核作爲默認內核。

編輯 grub.conf文件:

sudovim /etc/grub.conf    # 數一下剛剛新安裝的內核在哪個位置,從0開始,然後設置default爲那個數字,一般新安裝的內核在第一個位置,所以設置default=0

10.重啓

sudoreboot

uname–r     #重啓後,看一下當前內核版本號,

3.10.58

發佈了52 篇原創文章 · 獲贊 12 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章