linux内核安装编译
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内核安装编译相关推荐
- 【Linux 内核】编译 Linux 内核 ⑦ ( 安装内核模块 | 安装内核 | 重启系统 | 查看当前内核版本 )
文章目录 一.安装内核模块 二.安装内核 三.重启系统 四.查看当前内核版本 一.安装内核模块 确保 Linux 内核编译完成 , 没有任何报错之后 ; 参考 [Linux 内核]编译 Linux 内 ...
- 编译 linux 3,linux内核的编译(3)
linux内核的编译(3) 2008-02-23 07:17:46来源:互联网 阅读 () 无论什麽档名),然後将你做的 zImage 拷贝进去,(例如,如果你用" /vmlinuz ″ 的 ...
- Linux内核的编译方法及如何往内核中增加程序
2019独角兽企业重金招聘Python工程师标准>>> ARM Linux的系统调用实现原理是采用swi软中断从用户(usr)模式陷入管理模式(svc). 内核空间和用户空间这两个名 ...
- linux内核安装教程
linux内核安装教程 内核是操作系统的核心,是一个系统软件.负责管理系统中的进程.内存.设备驱动程序.文件和网络. 内核的组成:进程管理.定时器.中断管理.内存管理.模块管理.虚拟文件系统接口.文件 ...
- 【Linux 内核】编译 Linux 内核 ⑤ ( 查看 .config 编译配置文件 | 正式编译内核 )
文章目录 一.查看 .config 编译配置文件 二.正式编译内核 一.查看 .config 编译配置文件 在上一篇博客 [Linux 内核]编译 Linux 内核 ④ ( 打开 Linux 内核编译 ...
- 玩转mini2440开发板之【linux内核的编译和下载】
今天首先来玩一玩linux内核的编译和下载. 1.背景交代 开发环境:64位的Ubuntu 14.04: 编译工具:arm-linux-gcc 4.4.3: 下载工具:SuperViVi USB Tr ...
- Linux Ubuntu 安装编译Opencv 3.4.3 C++开发环境
在安装Autoware之前,需要先安装Opencv,之前在Windows下安装了Opencv,挺复杂的.不过,在Ubuntu 16.04环境中配置安装Opencv相对来说,比较简单. Linux Ub ...
- FFmpeg学习之路:Linux下安装编译
FFmpeg学习之路:Linux下安装编译 文章目录 FFmpeg学习之路:Linux下安装编译 前言 一.下载FFmpeg 二.准备工作 1.安装yasm的汇编编译器 2.安装SDL2 三.编译安装 ...
- 【Linux 内核】编译 Linux 内核 ⑥ ( 安装 OpenSSL | 安装其它依赖库 | 内核编译完成 )
文章目录 一.安装 OpenSSL 二.安装其它依赖库 三.Linux 内核编译完成 一.安装 OpenSSL 参考 [错误记录]编译 Linux 内核报错 ( fatal error: openss ...
最新文章
- 矩阵转置 java_Java 创建矩阵并转置矩阵
- PHP实现定时任务的几种方法
- python torch exp_Python:PyTorch 保存和加载训练过的网络 (八十)
- 如何处理跨平台的自适应三
- 【采用】风控体系的一般架构
- 【软件工程】软件复用
- python多任务笔记
- csh远程登录服务器,ubuntu远程连接服务器某一个用户(非root用户)出现sh: 1: source: not found...
- 2021c语言教程,全国计算机等级考试二级教程——C语言程序设计(2021年版)
- linux c获取内存和cpu使用率,linux c程序获取cpu使用率及内存使用情况
- 力扣102. 二叉树的层序遍历(JavaScript)
- Linux 下的任务管理 —— ps、top
- 基于TMS320VC5507的语音识别系统实现
- 10.leetcode83-Remove Diplicates from Sorted List
- c语言:数组倒序输出
- excel合并两列内容_WPS-excel简单将几个单元格的内容合并到一起
- html 适合手机浏览器,三款主流手机浏览器HTML5性能横向评测
- seo优化策略有哪些?
- 【复试】2017北京理工大学上机(一)----身份证校验
- java set list 区别是什么_Java中的list和set有什么区别