如何編譯安裝新內核
內核的簡單介紹:
「內核」指的是一個提供硬件抽象層、磁盤及文件系統控制、多任務等功能的系統軟件。一個內核不是一套完整的操做系統。一套基於Linux內核的完整操做系統叫做Linux操做系統,或是GNU/Linux。
1.擁有新版本的內核
[root@feng linux-2.6.28.10]# lftp 172.16.0.1
lftp 172.16.0.1:~> cd /pub/Sources/kernel/
lftp 172.16.0.1:/pub/Sources/kernel> get linux-2.6.28.10.tar.gz
2.配置新內核,選定要啓用的功能和模塊
[root@feng ~]# mv linux-2.6.28.10.tar.gz /usr/src/
[root@feng ~]#cd /usr/src/
[root@feng src]#tar xvf linux-2.6.28.10.tar.gz
[root@feng src]# ln -sv linux-2.6.28.10.tar.gz /usr/src/linux
[root@feng src]#yum groupinstall "Development Tools" "Development Libraries"
[root@feng src]#cd linux-2.6.28.10
[root@feng linux-2.6.28.10]#make menuconfig
ESE鍵兩下 返回上級目錄
[ ] :不啓用此項
[*];直接編譯進內核
[M]:編譯成模塊
3.編譯新內核
[root@feng linux-2.6.28.10]# make
4.安裝
[root@feng linux-2.6.28.10]# make modules_install
[root@feng linux-2.6.28.10]# make install
[root@feng linux-2.6.28.10]#reboot
5.驗證
[root@feng ~]# uname -r
2.6.18-164.el5
你會發現內核沒有改變,其實那個內核已經安裝好了
[root@feng ~]# vim /boot/grub/grub.conf
default=1
timeout=5
splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.28.10-feng)
root (hd0,0)
kernel /vmlinuz-2.6.28.10-feng ro root=/dev/vol0/root rhgb quiet
initrd /initrd-2.6.28.10-feng.img
title Red Hat Enterprise Linux Server (2.6.18-164.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/vol0/root rhgb quiet
initrd /initrd-2.6.18-164.el5.img
title Install Red Hat Enterprise Linux 5
root (hd0,0)
kernel /vmlinuz-5 ks=http://172.16.0.1/workstation.cfg ksdevice=eth0 noipv6
initrd /initrd-5
password --md5 $1$FSUEU/$uhUUc8USBK5QAXc.BfW4
你可以看到你安裝的那個內核,爲了讓系統重啓的時候可以使用你新安裝的內核,你能夠將default=1中的1改成0,在從新啓動計算機。
在證實一次發現內核已經改變了
[root@feng ~]# uname -r
2.6.28.10-feng
其實在咱們從新啓動計算機的時候在出現圖畫的時候按一下e 出現以下畫面,也能夠證實咱們的內核已經安裝成功。
1、配置內核的其餘方法:
#yum groupinstall "KDE Software Development"
#make xconfig
#yum groupinstall "GNOME Software Development"
#make gconfig
#make config 用的時候非常痛苦 要一個一個的指明是否編譯
2、在已經編譯過的內核源碼基礎上從新編譯:
#make clean
此方法會把.config 文件刪除,因此若是還想回到之前的配置的話,要把這個文件保存到其餘地方
#make prproper
3、在編譯內核的時候,若是咱們運用遠程鏈接的話,萬一網絡出現了問題,咱們所編譯的內核就失敗了,即便從新啓動仍是要從新開始,因此咱們遠程的時候能夠運用screen
[root@feng ~]# screen 進入另外一個界面
當咱們編譯的時候按Ctrl+a 再按d 及退出
screen -ls 查看
[root@feng ~]# screen -ls
There is a screen on:
4112.pts-1.feng (Attached)
1 Socket in /var/run/screen/S-root.
screen -r 加號(4112) 進去某個screen裏
[root@feng ~]#screen -r 4412