• linux内核学习---Linux内核编译


    一:内核编译前准备

    (一)查看使用的操作系统版本

    hostnamectl

     

    (二)下载Linux内核源码包(含疑惑)

    原本打算使用低版本的Linux内核进行实验,但是编译完成了几个3.X版本以后发现总是出现CPU死机或者无法开机情况,所以这里还是先用与原系统内核的版本相近的进行编译(占了近20G空间)。(好像是gcc编译器?或者系统版本导致??)

    下载地址:(下面都可以)

    https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/

    https://www.kernel.org/

    使用wget进行下载,或者使用共享文件夹上传...都可以,放入/usr/src/下

    (三)解压源码文件

    sudo tar -zxvf linux-4.10.14.tar.gz 

    (四)进入源码文件夹

    cd linux-4.10.14

    二:开始编译内核

    (一)执行下面3条语句

    sudo make mrproper         #检查有无不正确的.o文件和依赖关系,使用刚下载的完整的源程序包进行编译,所以本步可以省略。而如果你多次使用了这些源程序编译内核,那么最好要先运行一下这个命令。
    
    sudo make clean         #clean为清除上一次产生的编译中间文件
    
    sudo make menuconfig        #进入到图形界面,进行内核配置

    补充:menuconfig,我们初次选择默认即可。save之后退出即可

    其中,每一个配置选项有三种选择,它们的含义如下:
    
    <*>或[*]:表示将该功能编译进内核
    
    [ ]:表示不将该功能编译进内核
    
    [M]:表示将该功能编译成在需要时动态插入到内核的代码
    
    用户根据需要进行配置。

    (二)开始编译内核(两种方法)

    sudo make –j线程数

    设置线程数,可以提高编译速度!!!

    或者

    sudo make bzImage  #编译为映像---使用了这个

    (三)安装内核模块

    sudo make modules_install        //安装内核模块

    (四)安装内核

    sudo make install

    (五)配置grub文件

    安装内核以后,会默认将新的内核信息更新到grub中,但是我们需要修改grub文件,使得我们可以进行开机选择进入的内核

    sudo gedit /etc/default/grub

    然后将GRUB_HIDDEN_TIMEOUT=0使用#注释掉,如下图:

    然后进行更新grub即可

    sudo update-grub

    所以我们下面直接重启即可!!

    三:进入新的内核

    (一)重启选择高级选项

    (二)选择我们刚刚编译完成的内核

    (三)重新查看系统内核

    (四)注意:我们发现修改内核,不会改变系统原本的信息!!! 

    原始数据未改变

  • 相关阅读:
    浅入ABP(1):搭建基础结构的 ABP 解决方案
    浅入ABP(2):添加基础集成服务
    GDB 调试 .NET 程序实录
    浅入 ABP 系列(6):数据库配置
    浅入 ABP 系列(4):事件总线
    浅入 ABP系列(3):增加日志组件、依赖注入服务
    模拟IIC总线多设备挂载(12864OLED屏幕+GY30光照传感器)
    RabbitMQ与Kafka选型对比
    .Net在Windows上使用Jenkins做CI/CD的那些事
    Tomcat乱码问题
  • 原文地址:https://www.cnblogs.com/ssyfj/p/13647589.html
Copyright © 2020-2023  润新知