当前位置: 首页 > news >正文

Linux内核源码编译流程

文章目录

  • 前言
  • 一、如何编译内核源码
    • 1.指定架构
    • 2.指定交叉指定交叉编译链
    • 3.选择配置文件
    • 4.编译
  • 总结

前言

提示:这里以旺仔哥的平地铲开发板作为实验平台

本篇文章用于了解内核的编译流程。


一、如何编译内核源码

  • 首先我们需要清楚的是Linux作为一个跨平台的操作系统,支持多种架构的芯片,因此对应CPU的初始化代码也会有所差异。
  • 不同的CPU架构在汇编指令上会存在差异,Linux需要提供一种机制去指定编译当前芯片的交叉编译工具。
  • Linux支持不同功能的定制与修改

所以,编译linux内核可以分为4步:指定架构、指定交叉编译工具链、选择配置文件、编译。

1.指定架构

  • Linux的指定架构是通过环境变量ARCH来指定的。可指定架构可在arch目录下查看。我们的开发板是risc-v架构的
export ARCH=riscv

2.指定交叉指定交叉编译链

  • 我们的嵌入式设备绝大数是性能比较弱的,所以在本地的工具链运行起来比较困难。工程师们为了解决这种问题,开发了交叉编译工具链,在我们的x64/x86电脑上也可对arm/risc-v架构的芯片进行开发。
  • Linux的指定编译链是通过环境变量CROSS_COMPILE。
export CROSS_COMPILE=/home/zzz/work_tools/riscv64-wangzai-linux-gnu-gcc/bin/riscv64-unknown-linux-gnu-

3.选择配置文件

  • Linux可以通过配置文件实现可裁剪的不同需求。配置文件在内核源码目录下的 /arch/$(ARCH)/configs 目录下,在这个目录下有各个厂商的配置文件,我们在拿到一款开发板,板商一定会给我们提供linux源码和配置文件。板厂的linux源码由芯片提供商提供。
  • 在选择好配置文件后,我们需要使配置文件生效

在进入内核源码目录后,我们直接执行

make wangzai_d1s_rtl8723ds_defconfig

4.编译

make-j8

其中 “-j8” 表示编译的线程数。
编译生成的可执行文件在“arch/riscv/boot/目录下”

其中的Image和Image.gz是linux kernel编译生成的可执行文件。后面都可以通过特定的bootloader加载进内存并执行。


总结

本篇文章基于b站旺仔哥的开发板及视频教程做的学习笔记。

http://www.jsqmd.com/news/759683/

相关文章:

  • # 【深度解析】AI Coding Agent 的计费逻辑、Token 成本与 Copilot Pro Plus 使用策略
  • 别再画PPT了!用Mermaid在Markdown里5分钟搞定软件生命周期图(附完整代码)
  • 2026年AI大模型接口中转平台推荐:主流平台硬核数据对比,为你选出最优之选
  • 别再只开3389了!Windows远程桌面安全配置与端口转发避坑全记录
  • Qt Charts避坑指南:从TreeWidget取数据画图,这些细节你注意了吗?
  • 2026年4月评价高的二手贴合机品牌推荐,彩昇轮转机/回收贴合机设备/二手大升商标机/出售商标机,二手贴合机厂家有哪些 - 品牌推荐师
  • Steinitz交换引理:线性代数里这个不起眼的定理,为什么是理解向量空间维度的关键?
  • 百度网盘Mac版终极加速方案:免费解锁SVIP下载权限
  • 通过Python示例代码快速上手Taotoken的聊天补全接口
  • opencode最新版本安装 - Leonardo
  • 【仅限前500名】C# 13主构造函数企业级落地手册(含Roslyn Analyzer规则包+迁移检查清单)
  • 三步掌握Windows预览体验计划:离线注册与退出全攻略
  • 2026年AI模型接口加速站榜单揭晓:深度评测谁能成为企业级长期运行的不二之选
  • 避坑指南:ESP32做Modbus主机时,RS485收发切换的那些‘坑’与最佳实践
  • 别再手动调参了!用MATLAB的lqr函数5分钟搞定你的控制器设计
  • 3分钟掌握RPG Maker游戏资源解密:终极工具使用完全指南
  • 别再拆晶振了!ADAU1701开发板IIS输入的正确接线与SigmaStudio配置避坑指南
  • 云南昆明罗丹艺术培训学校艺考通过率及核心办学服务信息权威解析 - 云南美术头条
  • 华硕笔记本终极优化指南:G-Helper完整配置教程
  • QT QChartView 十字线随动效果实现详解(附完整源码与常见问题排查)
  • 别再死记硬背了!用Python脚本自动计算RK3588 GPIO引脚号(附源码)
  • 3步掌握Palworld存档工具:轻松修复损坏游戏数据的完整指南
  • matlab中disp同时打印字符串和数值
  • Windows风扇控制终极指南:5分钟掌握FanControl完全教程
  • 2026年3月地暖清洗公司口碑推荐,地暖管道清洗/房顶漏水维修/马桶疏通服务/地热测漏,地暖清洗企业哪个好 - 品牌推荐师
  • OpenClaw 接钉钉/飞书:从渠道配置到正确回复,我踩过的坑
  • 【Ultralytics】「1」Ultralytics YOLO 全栈计算机视觉框架介绍
  • 镓芯时代(西安)电子科技发展有限公司的源头企业 - 速递信息
  • 个人文章汇总
  • 庐州定制新风尚!合肥五大高端西服定制口碑店铺重磅推荐 - 速递信息