内核编译

<一>内核编译步骤:

1.获得新的内核:https://www.kernel.org/

2.展开至/usr/src

3.make config      交互式

 make menuconfig  非交互式    //普遍使用的一种

 make oldconfig   [cp /boot/config-2.6.32-358.el6.i686  .config]  //在老的基础上添加新功能

 make xconfig     kde桌面

 make gconfig     gnome桌面

4.make && make modules_install && make install



<二>具体实例(由2.6.32升级至2.6.39):

系统:CentOS6.4 32位

# yum groupinstall "Additional Development"   //开发工具
# yum groupinstall "Development tools"
# uname -r
2.6.32-358.el6.i686
# tar -Jxvf linux-2.6.39.tar.xz  -C /usr/src/
# cd /usr/src/linux-2.6.39/
# make menuconfig      //可以自定义选择自己所需要的东西或精简系统。


wKiom1NwcFvgIsLtAAQxnNkYyZ8982.jpg

如果在终端执行 make menuconfig ,显示错误:

Your display is too small to run Menuconfig!

It must be at least 19 lines by 80 columns.

make[1]: *** [menuconfig] Error 1

make: *** [menuconfig] Error 2

表示终端窗口太小。解决办法可以是把终端窗口适当的调大(或是直接最大化)就行了。


# make                  //时间较长,大概两个小时。
# make modules_install
# make install          //出现了一些错误,解释在下面。
sh /usr/src/linux-2.6.39/arch/x86/boot/install.sh 2.6.39 arch/x86/boot/bzImage \
        System.map "/boot"
ERROR: modinfo: could not find module vmhgfs
ERROR: modinfo: could not find module vsock
ERROR: modinfo: could not find module vmware_balloon
ERROR: modinfo: could not find module vmci
ERROR: modinfo: could not find module vmxnet
# vim /etc/grub.conf

wKiom1NwcAvxN-75AAKOM_GWiJM510.jpg


# reboot     //重启后查看内核版本
# uname -r
2.6.39


PS:虽然make install时出现了error的错误,但是系统还是能正常启动。因为错误基本是以vm开头的,而我是在虚拟机下做的实验,所以我怀疑是vmware-tools的原因,重新安装vmware-tools后再次重新编译,依然出现这几个错误。

你可能感兴趣的:(kernel,内核)