hjj@ubuntu:/usr/src$ uname -r
2.6.32-38-generic
下載一個2.6.33 的內核
一: 編譯
make mrproper ---->
make menuconfig --->
'make menuconfig' requires the ncurses libraries.
Ncurses是一個能提供功能鍵定義(快捷鍵),屏幕繪制以及基於文本終端的圖形互動功能的動態庫。
sudo apt-get install libncurses5-dev
注:
可以直接 save , exit 直接生成 .config 文件,(當然也可以裁剪)
也可以使用當前系統配置文件,使用當前系 統配置文件方法:
/linux-2.6.32#cp /boot/config-XX ./.config
,然后進入 menuconfig 選擇 load 選項
make ---> 是一個漫長的等待過程, 一般幾個小時 編譯那些module 花了大量時間 ,kernel, modules 都生成了。
如果你一定要知道編譯進展到何種程度。 可以打開.config, 對照一下正在編譯的模塊.
2千多個模塊,我的天。 直接編譯進內核的特性也有1千多種, 小型系統,急需刪減。
make modules_install // 時間也比較長, 有很多模塊需要安裝。才能支持你的顯卡,聲卡。。。。等設備
make install // 升級內核...
要保證正確性, 出現問題要解決。
例如,出現錯誤
ERROR: modinfo: could not find moduleautofs4 ....
是因為沒有運行 make modules_install 而直接運行make install.
結果導致內核不能正常啟動。
二. 生成啟動
手工生成 ram disk (高版本好像自動生成了, 所以視情況可能不需要)
hjj@ubuntu:/boot$ sudo mkinitramfs -o /boot/initrd.img-2.6.33.2 2.6.33.2
2.6.33.2是在/lib/modules中的目錄名,對應內核的版本, ramfs 會加進一些模塊代碼
sudo update-grub2 // 自動修改系統引導配置,產生 grub.cfg 啟動文件。
三. 運行
啟動完成后
使用uname -a 命令查看,可以看到當前內核已經被更新了。
四. 查看grub 啟動菜單
- 需要修改/etc/default/grub其中的第5行:
GRUB_HIDDEN_TIMEOUT=0(默認是0,修要修改成大於0的值,比如10)
保存后退出!
2、再執行:
sudo update-grub
重啟系統,等到系統提示按 shift 鍵進入
centos 已經進化到不再使用update-grub 來更新內核, 放到boot 目錄,修改/etc/grub.conf 就可以了
作者:hejinjing_tom_com
來源:CSDN
原文:https://blog.csdn.net/hejinjing_tom_com/article/details/9618557
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!