zoukankan      html  css  js  c++  java
  • 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

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

    三:进入新的内核

    (一)重启选择高级选项

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

    (三)重新查看系统内核

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

    原始数据未改变

  • 相关阅读:
    《Linux权威指南》阅读笔记(3)
    adb命令篇 (转载)
    3.抓包神器Fiddler简介(转载)
    python-文件基本操作(一) (转载)
    python+requests实现接口测试
    python+requests实现接口测试
    12306登录爬虫 cookies版本
    爬虫3 requests之json 把json数据转化为字典
    爬虫3 requests基础之下载图片用content(二进制内容)
    爬虫3 requests基础之 乱码编码问题
  • 原文地址:https://www.cnblogs.com/ssyfj/p/13647589.html
Copyright © 2011-2022 走看看