zoukankan      html  css  js  c++  java
  • Linux内核简单编译安装过程

    环境:  

      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    #安装内核文件

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

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

  • 相关阅读:
    C++自定义一个foreach宏,偷偷懒
    线程池介绍与示例
    iOS消息中心与传感
    new 和 malloc 申请内存失败的区别处理
    iOS调试技巧——当程序崩溃的时候怎么办
    随机数原理
    iOS麦克风运用——腾讯微博“吹一吹”
    个人技术博客
    SDN第一次作业
    GitKraken 团队项目使用教程
  • 原文地址:https://www.cnblogs.com/lushengle/p/7742799.html
Copyright © 2011-2022 走看看