环境:  

  CentOS-6.9

编译前准备工作:

  (1) 准备好开发环境

    ~]# yum groupinstall -y "Server Platform Development" "Development Tools "  #安装所需要的软件包组
  (2) 获取目标主机上硬件设备的相关信息

    ~]# cat /proc/cpuinfo   #CPU
    ~]# x86info -a
    ~]# lscpu

    ~]# lsusb   #USB设备

    ~]# lspci   #PCI设备

    ~]# lsblk   #块设备相关信息

    ~]# hal-device   #获取当前系统所有的硬件设备信息

  (3) 获取到目标主机系统功能的相关信息,例如要启用的文件系统


  (4) 获取内核源码包 htts://www.kernel.org

    linux-3.2.94.tar.xz

使用现有的模板来编译,不在手动编写config文件

  ~]# tar -xflinux-3.2.94.tar.xz -C /usr/src   #将内核文件解压值/usr/src目录下

  ~]# cd /usr/src

  ~]# ln -sv linux-2.6.39 linux    #创建连接文件,许多应用程序会到/usr/src目录下找一个叫做linux的目录

  ~]# cd linux

  ~]# cp /boot/config-$(uname -r) .config   #将/boot/目录下的config文件复制到当前目录,并命名为.config

  ~]# make menuconfig    #选择所需的模块即可,编译成模块或编译进内核,选定后退出并保存

    #make支持很多的方式,可使用make help查看# 

 此时需要修改/boot/grub/grub.conf文件,将default=1改为default=0
  ~]# vim /boot/grub/grub.conf

  ~]# make -j 4   #启动多线程进行编译

    #因为是远程连接的,编译内核时间稍长,为保险起见,建议使用使用screen打开一个虚拟屏幕#
      ~]# screen   若提示没有此命令,安装即可 yum install -y screen
      ~]# screen -ls   #当连接断开之后重新连接上时可查看当前的屏幕在哪儿
      ~]# screen -r NUMBER   #恢复到当前屏幕

  编译完成之后,即可安装:
    ~]# make modules_install    #先安装模块
    ~]# make install    #安装内核文件

等待安装完成之后,重启系统,手动选择编译安装的内核来启动,感受新内核

至此,简单的内核编译安装完成  

 

posted on 2017-10-27 13:43  卢伸乐  阅读(2635)  评论(0编辑  收藏  举报