如何編譯安裝新內核
內核的簡單介紹:
“內核”指的是一個提供硬件抽象層、磁盤及文件系統控制、多任務等功能的系統軟件。一個內核不是一套完整的操作系統。一套基於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 出現如下畫面,也可以證明我們的內核已經安裝成功。
一、配置內核的其他方法:
#yum groupinstall "KDE Software Development"
#make xconfig
#yum groupinstall "GNOME Software Development"
#make gconfig
#make config 用的時候很是痛苦 要一個一個的指明是否編譯
二、在已經編譯過的內核源碼基礎上重新編譯:
#make clean
此方法會把.config 文件刪除,所以如果還想回到以前的配置的話,要把這個文件保存到其他地方
#make prproper
三、在編譯內核的時候,如果我們運用遠程連接的話,萬一網絡出現了問題,我們所編譯的內核就失敗了,即使重新啓動還是要重新開始,所以我們遠程的時候可以運用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