Linux内核下载及编译

下载Linux内核

可以从官网下载linux内核,也可以通过第三方网站进行下载。

官网网址:https://www.kernel.org/。

由于官网可能存在被墙的原因,所以下在很慢,这里也提供一个更加便捷的下载地址:http://ftp.sjtu.edu.cn/sites/ftp.kernel.org/pub/linux/kernel/。

根据自己的需求下载相应的版本,我这里下载在的是“linux-5.19.tar.gz”版本。

解压linux内核

使用以下命令进行加压下载的linux内核压缩包:

tar -zxvf linux-5.19.tar.gz

解压后使用ls命令展示文件夹类存在的文件。

在清理多余的中间配置文件,使用make distclean命令。清理后文件夹内部信息将会发生变化。

选择参考配置文件

使用以下命令选择配置文件,便于后续config配置:

cp /boot/config-5.15.0-46-generic .config

具体操作如下图所示:

配置内核

在使用make命令前,需要先安装一些相关的依赖库,便于后续的运行。主要需要执行以下命令:

sudo apt-get update
sudo apt install make
sudo apt-get install gcc
sudo apt-get install libncurses5-dev
sudo apt-get install flex
sudo apt-get install bison

使用“make manuconfig“进行打开可视化终端,按照自己的需要进行更改参数设置。如果不需要更改,则保存退出就可以继续执行后面操作。

编译内核

执行make bzImage命令,需要较长的时间(1~2小时左右,耐心等待)。

其中可能会出现scripts/sign-file.c:25:10: fatal error: openssl/opensslv.h: 没有那个文件或目录等问题。于是执行以下命令安装相关的依赖,应该一次性全部安装完相关的所有依赖,要不然耗时更长。

sudo apt-get install libssl-dev
sudo apt-get install libelf-dev
sudo apt-get install dwarves
sudo apt-get install zstd

如果中间出现以下等错误:make[1]: *** 没有规则可制作目标“[debian](https://so.csdn.net/so/search?q=debian&spm=1001.2101.3001.7020)/canonical-certs.pem”,由“certs/x509,那么打开**.config**文件,如下方所是,删除部分内容:如删除“debian/canonical-certs.pem”和“debian/canonical-revoked-certs.pem”内容,修改为下下图形式。

修改完毕后在次执行“make bzImage”命令将进行编译内核。

最终内核编译成功将会出现以下信息。

编译内核模块

使用以下命令进行编译linux内核模块:

make modules

将会开始进行编译内核模块,大致需要(2~3小时)。

编译成功后将会出现以下信息:

安装内核模块

使用以下命令进行安装内核模块,大概耗时10分钟:

make modules_install

完成安装后,编译好的内核模块会从源码目录复制到/lib/modules/目录下:

到此,嵌入式Linux内核便下载在编译成功了。

后续也可以通过参考文献[1]将编译好的Linux进行安装和部署。

Reference

[1]https://blog.csdn.net/qq_44631615/article/details/118305753#commentBox

linux内核安装编译相关推荐

  1. 【Linux 内核】编译 Linux 内核 ⑦ ( 安装内核模块 | 安装内核 | 重启系统 | 查看当前内核版本 )

    文章目录 一.安装内核模块 二.安装内核 三.重启系统 四.查看当前内核版本 一.安装内核模块 确保 Linux 内核编译完成 , 没有任何报错之后 ; 参考 [Linux 内核]编译 Linux 内 ...

  2. 编译 linux 3,linux内核的编译(3)

    linux内核的编译(3) 2008-02-23 07:17:46来源:互联网 阅读 () 无论什麽档名),然後将你做的 zImage 拷贝进去,(例如,如果你用" /vmlinuz ″ 的 ...

  3. Linux内核的编译方法及如何往内核中增加程序

    2019独角兽企业重金招聘Python工程师标准>>> ARM Linux的系统调用实现原理是采用swi软中断从用户(usr)模式陷入管理模式(svc). 内核空间和用户空间这两个名 ...

  4. linux内核安装教程

    linux内核安装教程 内核是操作系统的核心,是一个系统软件.负责管理系统中的进程.内存.设备驱动程序.文件和网络. 内核的组成:进程管理.定时器.中断管理.内存管理.模块管理.虚拟文件系统接口.文件 ...

  5. 【Linux 内核】编译 Linux 内核 ⑤ ( 查看 .config 编译配置文件 | 正式编译内核 )

    文章目录 一.查看 .config 编译配置文件 二.正式编译内核 一.查看 .config 编译配置文件 在上一篇博客 [Linux 内核]编译 Linux 内核 ④ ( 打开 Linux 内核编译 ...

  6. 玩转mini2440开发板之【linux内核的编译和下载】

    今天首先来玩一玩linux内核的编译和下载. 1.背景交代 开发环境:64位的Ubuntu 14.04: 编译工具:arm-linux-gcc 4.4.3: 下载工具:SuperViVi USB Tr ...

  7. Linux Ubuntu 安装编译Opencv 3.4.3 C++开发环境

    在安装Autoware之前,需要先安装Opencv,之前在Windows下安装了Opencv,挺复杂的.不过,在Ubuntu 16.04环境中配置安装Opencv相对来说,比较简单. Linux Ub ...

  8. FFmpeg学习之路:Linux下安装编译

    FFmpeg学习之路:Linux下安装编译 文章目录 FFmpeg学习之路:Linux下安装编译 前言 一.下载FFmpeg 二.准备工作 1.安装yasm的汇编编译器 2.安装SDL2 三.编译安装 ...

  9. 【Linux 内核】编译 Linux 内核 ⑥ ( 安装 OpenSSL | 安装其它依赖库 | 内核编译完成 )

    文章目录 一.安装 OpenSSL 二.安装其它依赖库 三.Linux 内核编译完成 一.安装 OpenSSL 参考 [错误记录]编译 Linux 内核报错 ( fatal error: openss ...

最新文章

  1. 矩阵转置 java_Java 创建矩阵并转置矩阵
  2. PHP实现定时任务的几种方法
  3. python torch exp_Python:PyTorch 保存和加载训练过的网络 (八十)
  4. 如何处理跨平台的自适应三
  5. 【采用】风控体系的一般架构
  6. 【软件工程】软件复用
  7. python多任务笔记
  8. csh远程登录服务器,ubuntu远程连接服务器某一个用户(非root用户)出现sh: 1: source: not found...
  9. 2021c语言教程,全国计算机等级考试二级教程——C语言程序设计(2021年版)
  10. linux c获取内存和cpu使用率,linux c程序获取cpu使用率及内存使用情况
  11. 力扣102. 二叉树的层序遍历(JavaScript)
  12. Linux 下的任务管理 —— ps、top
  13. 基于TMS320VC5507的语音识别系统实现
  14. 10.leetcode83-Remove Diplicates from Sorted List
  15. c语言:数组倒序输出
  16. excel合并两列内容_WPS-excel简单将几个单元格的内容合并到一起
  17. html 适合手机浏览器,三款主流手机浏览器HTML5性能横向评测
  18. seo优化策略有哪些?
  19. 【复试】2017北京理工大学上机(一)----身份证校验
  20. java set list 区别是什么_Java中的list和set有什么区别

热门文章

  1. 深入GraphQL 的使用语法
  2. 迅为RK3568开发板Debian系统安装ToDesk
  3. (16)业务数据导入HDFS
  4. C++文件流fstream相关操作
  5. 计算机技术英文缩写含义,电脑技术中常见的英文缩写含义
  6. 简直无敌!反向代理、负载均衡实战,架构师必备!
  7. python 组合数字和字符_python无限生成不重复(字母,数字,字符)组合的方法
  8. c、c++的getchar()函数
  9. 卓有成效的管理者|木深读书笔记
  10. 弱电系统的布线施工应注意什么?