zoukankan      html  css  js  c++  java
  • 使用Ubuntu编译Linux内核

    1.下载内核并解压到 /usr/src 目录下

    在终端执行以下命令即可下载 4.16.14版本(目前最新的稳定版)的内核到当前shell打开的目录下

    wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.16.14.tar.xz  
    

    解压下载的内核文件 linux-4.16.14.tar.xz

    xz -d linux-4.16.14.tar.xz   将 linux-4.16.14.tar.xz  文件解压成 linux-4.16.14.tar 压缩文件
    sudo tar -xvf linux-4.16.14.tar  -C /usr/src  将 linux-4.16.14.tar 解压到 /usr/src 目录下
    

    2.编译内核可能用到的依赖库安装

    	
    sudo apt-get install libncurses5-dev libssl-dev 
    
    sudo apt-get install build-essential openssl 
    
    sudo apt-get install zlibc minizip 
    
    sudo apt-get install libidn11-dev libidn11
    
    sudo apt-get install bison
    
    sudo apt-get install flex
    
    

    3.配置内核编译参数

    cd /usr/src/linux-4.16.14  切换到刚才我们解压的内核源代码目录下
    
    make mrproper   清除编译过程产生的中间文件,就是将内核代码还原为刚解压的状态,最好每次编译前执行一下。
    
    make clean      清除上次编译产生的中间文件,最好每次编译前执行一下。
    
    make menuconfig 配置编译参数,编译的内核模块选择,内核剪裁需要重点研究的部分。
    

    4. 编译内核

       make -jN     也可以只使用 make ,N表示编译时用几个线程编译,最大不要超过CPU个数的两倍
    

    编译内核比较耗时,大概两小时。

    5. 安装内核

       make modules_install   安装内核模块,驱动等
       make install  安装内核
    

    6. 其它说明

    内核配置,编译过程中如果提示找不到依赖文件,只需要根据提示的错误信息安装对应的依赖文件即可。

    比如出现以下错误提示:

    /bin/sh: 1: flex: not found
    scripts/Makefile.lib:202: recipe for target 'scripts/kconfig/zconf.lex.c' failed
    make[2]: *** [scripts/kconfig/zconf.lex.c] Error 127
    Makefile:514: recipe for target 'silentoldconfig' failed
    

    说明需要 flex模块,但是电脑上没有安装,只需要执行sudo apt-get install flex安装上就行。

  • 相关阅读:
    Codeforces 700A As Fast As Possible(二分答案)
    BZOJ 1196 [HNOI2006]公路修建问题(二分答案+并查集)
    Codeforces 701C They Are Everywhere(Two pointers+STL)
    Codeforces 430B Balls Game(Two Pointers)
    CSU 1812 三角形和矩形
    CSU 1804 有向无环图
    CSU 1803 2016
    CSU 1808 地铁
    CodeForces 707B Bakery
    CodeForces 707A Brain's Photos
  • 原文地址:https://www.cnblogs.com/ay-a/p/9158897.html
Copyright © 2011-2022 走看看