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

Linux系统架构理解

Linux系统架构理解

Linux SDK 编译 U-Boot、Kernel、RootFS
是在生成一套“能让板子从上电到跑应用”的完整系统


一、嵌入式 Linux 的完整启动链

RK356X 为例:

上电↓
ROM(芯片内置)↓
Loader / SPL↓
U-Boot(bootloader)↓
Linux Kernel(内核)↓
Root Filesystem(Buildroot / Ubuntu)↓
应用程序

SDK 的作用,就是 把这条链上每一段都编译出来


Bootloader

把系统从“上电”带到“操作系统运行”

典型职责:

  • 初始化最基本硬件(时钟、DDR、串口)
  • 选择启动介质(eMMC / SD / NAND / 网络)
  • 加载内核(Linux Kernel)
  • 传递参数(DTB / bootargs)

二、SDK 里每一部分

SDK 里的典型目录

u-boot/
kernel/
buildroot/ 或 debian/
rkbin/
tools/

三、U-Boot

U-Boot 是“板子的 BIOS + 引导程序”

它负责:

  • 初始化 DDR
  • 初始化 串口 / 时钟 / 电源
  • 选择从哪里启动(eMMC / SD / USB / 网络)
  • 加载 Linux 内核
  • 把启动参数(cmdline / DTB)传给内核

为什么要编译 U-Boot?

  • 换板卡 / DDR
  • 改启动介质
  • 调试早期启动问题
  • 支持 fastboot / recovery / adb

没有 U-Boot,Linux 根本起不来


四、Kernel(内核)

Kernel 是操作系统的核心

负责:

  • 进程调度
  • 内存管理
  • 中断处理
  • 驱动(GPIO / I2C / SPI / USB / 网卡 / 显示)
  • 文件系统
  • 网络协议栈

为什么要编译 Kernel

  • 加/改驱动
  • 打开内核选项(menuconfig
  • 修改 DTS(设备树)
  • 匹配不同硬件

写的 .ko 驱动,最终都是跑在 Kernel 里的


五、RootFS(Buildroot / Ubuntu)

RootFS 是“用户能看到的 Linux 世界”

包括:

  • /bin /sbin /usr
  • busybox
  • systemd / init
  • ssh / scp
  • 应用程序

Buildroot vs Ubuntu

项目 Buildroot Ubuntu
体积 极小 很大
启动速度
可裁剪 非常强
调试友好 一般 非常好
适合 产品 开发

** adb / ssh / insmod,都是 RootFS 提供的**


六、rkbin / loader

rkbin/

Rockchip 提供的闭源二进制

  • DDR 初始化
  • Boot ROM 交互
  • 安全启动相关

是 RK 芯片启动的“最底层”


七、SDK 编译产出什么

一次完整 SDK 编译,通常会产出:

u-boot.img
kernel.img / Image
dtb
rootfs.img
update.img

这些一起,才能刷进板子。


八、为什么“驱动开发只编译 Kernel 模块”

因为:

  • U-Boot:只在启动时用
  • Kernel:长期运行
  • RootFS:应用层
Kernel 模块开发(*.ko)

所以:

  • 不用每次全量编 SDK
  • 只要内核源码 + 交叉编译器

九、

U-Boot   → 管启动
Kernel   → 管硬件 & 驱动
RootFS  → 管命令 & 应用

下一步可以

1️⃣ 深入驱动

  • platform_driver
  • DTS
  • GPIO / LED

2️⃣ 启动流程

  • U-Boot 环境变量
  • bootargs
  • DTB 加载

3️⃣ 系统定制

  • Buildroot menuconfig
  • 裁剪 rootfs
  • 开机自启
http://www.jsqmd.com/news/339292/

相关文章:

  • “入坑网安后悔一时,不入坑后悔一辈子!” 数字世界的守护者们,共勉!
  • 让大模型能自己想出安全方案——KAIST团队的突破性研究
  • 探索AI提示工程国际化与本地化,提示工程架构师的独特视角
  • openclaw(大龙虾)+飞书保姆级windows安装教程
  • 全面评测2026年免费降低AI率工具,那款工具降AI率最有效?
  • 农作物病虫害检测识别系统|基于YOLOv11+Pytorch + Flask + > SpringBoot|支持玉米、水稻、番茄、草莓病害检测(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定
  • 【Python高级编程】近似串匹配
  • AI应用架构师的神操作:企业级LLM定制化方案深度剖析
  • 数字员工助推熊猫智汇提升AI销售工具效能与业务转型
  • AI赋能下编程职业的新角色与职责深入探讨
  • AgentScope 深度解读:多智能体开发框架的工程化实践
  • 【建议收藏】一文读懂大语言模型(LLM)的内部工作机制:分词、嵌入与注意力详解
  • 《量子计算与AI跨界融合:AI应用架构师的核心竞争力打造攻略》
  • 基于金枪鱼群优化算法优化人工神经网络预测附Matlab代码
  • 数据中台建设中的数据集成技术
  • 建议这几个行业的跨境人,碰一碰日本市场
  • YOLO26涨点改进 | 全网独家、卷积创新改进篇 | TGRS 2025 | 引入CLGM上下文层级引导特征提取模块,为红外小目标检测提供更可靠的细节与语义融合能力,助力YOLO26有效涨点
  • 粒子群算法+灰狼算法+遗传算法+改进粒子群算法生产线排产调度附Matlab代码
  • 大模型工具使用技术演进:从Prompt到A2A通信协议全解析
  • 0基础小白可以学网络安全吗?
  • Python如何拼接字符串?
  • AI人才薪资爆表!华为大模型岗年薪百万,程序员转型指南,建议收藏
  • 农业供应链AI决策系统:架构师如何实现产销协同?
  • 计算机SSM毕设实战-基于ssm的电影购票系统设计与实现基于web的影院订票系统设计与开发【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 千万别学网络安全?给新手/转行者的3个“真心劝退”理由
  • 【课程设计/毕业设计】基于web的影院订票系统设计与开发电影院在线订票管理系统的设计与实现【附源码、数据库、万字文档】
  • Linux寻找本地交叉编译器地址
  • 实测免费降低ai率的工具,让你的降ai率工具有效降低论文AI率【建议收藏】
  • linux创建设备节点
  • 首款全AI驱动恶意软件VoidLink登场:7天速成,瞄准云原生基础设施