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

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

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

  • 相关阅读:
    shell 编写简单的整数计算器
    信号控制
    MySQL-索引及优化整理
    Java面试-Java容器有哪些
    C语言宏定义
    值类型与引用类型的区别
    C++虚函数简介
    DNS-域名解析
    扇区,簇,块区分
    Java合并两个数组为一个新数组
  • 原文地址:https://www.cnblogs.com/lushengle/p/7742799.html
Copyright © 2011-2022 走看看