制作一个可启动的、压缩格式的初始 RAM 磁盘(initrd / initramfs)镜像文件。

发布时间:2026/8/15 16:33:53

制作一个可启动的、压缩格式的初始 RAM 磁盘(initrd / initramfs)镜像文件。
目录ebf_rd.img.gz 到底是谁解压的什么时候解压制作过程1. 为什么创建挂载点mkdir -p initrd2.为什么用 dd 分配固定大小的空文件bs1k count81923. 为什么格式化为 ext2 且不用分区mkfs.ext2 -F4. 为什么用 mount -o loop回环挂载5. 为什么用 cp -a 复制根文件系统6. 为什么必须要 umount7. 为什么删除原文件和挂载点rm -fr并复制到 /opt/out/文件U-Boot 的态度谁解压zImage内核U-Boot 会解压。因为bootz命令专门用来启动压缩的 ARM 内核U-Boot 会在内存中将 zImage 解压成原始内核然后跳转执行。U-Bootebf_rd.img.gz根文件系统U-Boot 视而不见。U-Boot 只负责把这个.gz文件从网线接收下来原封不动地放在0x88000000。它根本不管这是不是压缩包只把它当成一堆二进制数据。Linux 内核imx6ull.dtb设备树不解压。直接传给内核。无TFTP 的本质U-Boot 通过网线接收数据包直接按照字节写入内存条RAM的指定地址。ebf_rd.img.gz到底是谁解压的什么时候解压解压者Linux 内核Kernel。解压时机内核刚启动、还没挂载根文件系统之前。完整流程如下U-Boot 阶段U-Boot 执行bootz 0x80800000 - 0x83000000把内存地址0x88000000和大小0x109b6e通过bootargsinitrd...传递给内核。然后 U-Boot 把 CPU 控制权交给内核U-Boot 退场。内核启动早期Linux 内核刚跑起来它看到initrd0x88000000,0x109b6e就去这个地址读取数据。内核检测魔数内核读取文件头发现是1F 8Bgzip 的魔法数字于是内核调用自己内部的解压算法在内存中开辟一片新区域把压缩包解压成原始的 8MB ext2 镜像。内核挂载根目录解压完成后内核将这个内存中的 ext2 数据挂载为/dev/ram并执行/linuxrc。制作过程#!/bin/sh # 创建一个挂载点 mkdir -p initrd # 分配一个镜像文件多少个block每块多大查看制作好的文件系统的大小计划分配8M # dd if/dev/zero ofinitrd.img bs1k count8192 dd if/dev/zero ofebf_rd.img bs1k count8192 # 分配一个镜像不需要分区ramdisk但需要格式化 sudo mkfs.ext2 -F ebf_rd.img # 挂载格式化好的镜像到宿主机里的目录方便写入 sudo mount -o loop ebf_rd.img initrd sudo cp -a ~/ebf/rootfs/* initrd/ sudo umount initrd # 为了满足嵌入式设备的存储要求可以使用压缩格式 gzip --best -c ebf_rd.img ebf_rd.img.gz rm -fr initrd ebf_rd.img cp ebf_rd.img.gz /opt/out/0x180000是必须需要自己算出来差不多的setenv bootargs consolettymxc0,115200 root/dev/ram rw initrd0x88000000,0x180000 init/linuxrc tftp 0x80800000 zImage;tftp 0x83000000 imx6ull-mmc-npi.dtb;tftp 0x88000000 ebf_rd.img.gz;bootz 0x80800000 - 0x830000001. 为什么创建挂载点mkdir -p initrd原因Linux 中文件镜像必须挂载到某个空目录下宿主才能像访问普通文件夹一样读写里面的内容。initrd就是这个临时的“窗口”目录。2.为什么用dd分配固定大小的空文件bs1k count8192原因镜像文件必须是一个固定大小的“容器”。这里分配了8 MB8192 个 1KB 块。为什么是 8M脚本注释提到“查看制作好的文件系统的大小”事先估算过~/ebf/rootfs/的内容大小通常略小于 8M以此节省嵌入式设备宝贵的存储空间NAND Flash / NOR Flash 容量有限。如果根文件系统超过 8M这一步会失败。3. 为什么格式化为ext2且不用分区mkfs.ext2 -F不用分区无 MBR/GPT因为内核直接读取这个文件内的文件系统数据不依赖分区表。它会被内核当作一个回环设备直接挂载。分区表就是记录一块磁盘如何被划分、每个分区在哪里、大小是多少的一张“地图”。为什么是 ext2ext2 没有日志功能相比 ext3/4读写操作少能减少 Flash 的磨损且在嵌入式 Bootloader如 U-Boot和 Linux 内核中兼容性极好、解析速度快。4. 为什么用mount -o loop回环挂载原因ebf_rd.img只是一个普通文件不是物理块设备。-o loop让系统将其虚拟成一个块设备如/dev/loop0这样就可以像操作真实 U 盘一样用cp命令直接往里复制文件而不是用专门的工具写入。5. 为什么用cp -a复制根文件系统-aarchive 模式这步至关重要它会保留文件的所有属性包括文件权限rwx属主和属组root:root符号链接软链接设备节点如/dev/console,/dev/null时间戳如果不加-a复制进去的/dev设备节点和init进程将无法正常工作系统启动会直接崩溃Kernel Panic。6. 为什么必须要umount原因cp只是把数据写到宿主的内存缓存中Page Cache。umount会强制将缓存刷新到镜像文件并释放回环设备。如果不卸载后续的gzip压缩可能会拿到不完整的文件系统数据。为什么会强制刷新Linux 内核有一条铁律绝对不允许将一个“数据还没写完”的文件系统取消挂载。7. 为什么用gzip --best压缩体积与加载速度的平衡节省存储空间压缩后的.gz文件比 8MB 小得多嵌入式 Flash 按兆计费能省则省。内核原生支持Linux 内核的 initrd 加载器原生支持解压gz格式BootloaderU-Boot会将这个压缩包读入内存内核启动时会自动解压出内部的 ext2 镜像。加载速度虽然解压消耗 CPU 时间但压缩后从慢速 Flash如 NAND读取到内存的 I/O 时间大幅减少总启动时间通常更快7. 为什么删除原文件和挂载点rm -fr并复制到/opt/out/清理中间文件保留一份 8MB 未压缩的裸镜像纯属浪费磁盘空间且容易混淆只需保留最终的.gz成品。归档标准化将成品复制到/opt/out/是为了统一输出路径方便后续的固件打包脚本比如将 Kernel、设备树 DTB 和这个 initrd 整合成一个可烧录的uboot.img或update.img。

相关新闻

AI 效率工具的延迟与成本怎么一起算:Token 账单、TTFT 和缓存

AI 效率工具的延迟与成本怎么一起算:Token 账单、TTFT 和缓存

2026/8/15 16:23:52

AI 效率工具的延迟与成本怎么一起算:Token 账单、TTFT 和缓存 1. P99 延迟与 API 账单的协同治理悖论 PMF 验证期要同时记录用户等待和 API 账单。延迟目标来自用户任务,Token 成本来自真实调用;两项都不能拿行业平均值代替。 先从网关日志…

泰坦之旅背包总是爆满?TQVaultAE 给你一座装不满的智能仓库

泰坦之旅背包总是爆满?TQVaultAE 给你一座装不满的智能仓库

2026/8/15 16:23:52

泰坦之旅背包总是爆满?TQVaultAE 给你一座装不满的智能仓库 【免费下载链接】TQVaultAE Extra bank space for Titan Quest Anniversary Edition 项目地址: https://gitcode.com/gh_mirrors/tq/TQVaultAE 凌晨一点,你在《泰坦之旅》永恒余烬里刷出…

告别网盘下载慢!开源工具网盘直链下载助手,免费获取8大网盘真实下载地址

告别网盘下载慢!开源工具网盘直链下载助手,免费获取8大网盘真实下载地址

2026/8/15 16:23:52

告别网盘下载慢!开源工具网盘直链下载助手,免费获取8大网盘真实下载地址 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿…

基于微信小程序的社区新零售管理与营销平台

基于微信小程序的社区新零售管理与营销平台

2026/8/15 17:23:55

一、关键词微信小程序、社区新零售管理与营销平台、社区新零售管理与营销、社区新零售管理与营销信息管理、社区新零售管理与营销后台管理二、作品包含源码数据库全套环境和工具资源本地部署教程三、项目技术前端技术: Html、Css、Js、Vue3.2、Element-Plus、uniapp…

为什么你的六足机器人走不稳?Hexapod5 的 5 个关键设计决策

为什么你的六足机器人走不稳?Hexapod5 的 5 个关键设计决策

2026/8/15 17:23:55

为什么你的六足机器人走不稳?Hexapod5 的 5 个关键设计决策 【免费下载链接】hexapod 项目地址: https://gitcode.com/gh_mirrors/hexapod5/hexapod 想亲手组装一台开源六足机器人,图纸、固件、步态配置样样齐全,装完却发现它连站都站…

能跑跳的机器人为何难以规模化商用?拆解具身智能长期落地的本体短板

能跑跳的机器人为何难以规模化商用?拆解具身智能长期落地的本体短板

2026/8/15 17:23:55

具身智能迟迟无法大规模落地,核心瓶颈并非大众热议的大模型能力与训练数据,长期被行业轻视的机器人本体硬件,才是卡住产业化进程的关键盲点。绝大多数行业讨论将焦点集中在算法迭代,默认机器人本体供应链成熟、不存在落地障碍&…

《开拓者:正义之怒》角色构建从入门到精通:三份可照抄的BD与一套通用方法论

《开拓者:正义之怒》角色构建从入门到精通:三份可照抄的BD与一套通用方法论

2026/8/15 17:23:55

《开拓者:正义之怒》角色构建从入门到精通:三份可照抄的BD与一套通用方法论 【免费下载链接】Wotr-BD-LR 正义之怒Wotr主角BD搜集 项目地址: https://gitcode.com/GitHub_Trending/wo/Wotr-BD-LR 如果你正在玩《开拓者:正义之怒》&…

Hackintool 教程:3 步解决黑苹果无声、USB 失灵与显卡 7MB

Hackintool 教程:3 步解决黑苹果无声、USB 失灵与显卡 7MB

2026/8/15 17:23:55

Hackintool 教程:3 步解决黑苹果无声、USB 失灵与显卡 7MB 【免费下载链接】Hackintool The Swiss army knife of vanilla Hackintoshing 项目地址: https://gitcode.com/gh_mirrors/ha/Hackintool 开场:开机 30 分钟后,你最需要的那个…

刷短视频想存却存不下来?这款资源嗅探下载神器让全网视频音乐“一键入袋“

刷短视频想存却存不下来?这款资源嗅探下载神器让全网视频音乐“一键入袋“

2026/8/15 17:13:54

刷短视频想存却存不下来?这款资源嗅探下载神器让全网视频音乐"一键入袋" 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res…

比较好的亚太EMBA,问了6位校友师资差别真的挺大

比较好的亚太EMBA,问了6位校友师资差别真的挺大

2026/8/13 11:01:28

比较好的亚太EMBA核心差异先看什么?对于希望兼顾工作与系统管理能力提升的亚太区高管而言,筛选匹配度高的EMBA项目时,师资配置是决定学习体验与实际收获的核心要素之一。我们结合3-4个公开信息透明、办学历史较长的亚太区主流EMBA项目特点&am…

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

2026/8/14 10:48:24

备考海外游学的亚洲EMBA面试,核心要围绕项目国际化设计逻辑、个人跨文化管理经验匹配度两个维度准备,避免把游学模块等同于普通旅游参访的认知偏差。不少备考者花3个月对比6份资料,却容易忽略面试官对“国际视野落地能力”的考察——比如香港…

比较好的国内EMBA,问了二十位校友聊透人脉价值

比较好的国内EMBA,问了二十位校友聊透人脉价值

2026/8/13 17:17:06

比较好的国内EMBA核心差异体现在哪些方面?比较好的国内EMBA的核心长期价值,很大程度上依托于校友网络的连接质量与资源生态的活跃度,这也是不少高管在择校时优先考量的因素。我们结合3-4个市场关注度较高的项目公开信息,从课程、师…

一文读懂快消WMS怎么选?2026年国内外10大主流WMS品牌盘点

一文读懂快消WMS怎么选?2026年国内外10大主流WMS品牌盘点

2026/8/15 0:03:07

快消品(FMCG)是流通速度较快、竞争较为激烈的行业之一。一瓶饮料从出厂到消费者手中,往往只有几十天甚至几天的周转窗口。这决定了快消行业的仓储管理系统(WMS)与制造业、电商行业存在明显区别:它不仅需要管…

内景 空间站内部 中国空间站 太空 内仓

内景 空间站内部 中国空间站 太空 内仓

2026/8/15 0:03:07

本项目为前几天收费帮学妹做的一个项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 空间站内部 中国空间站 太空 内仓 地址:本地PC端运行(或Web…

重新定义数据接口:3个突破性场景让通达信数据读取更智能

重新定义数据接口:3个突破性场景让通达信数据读取更智能

2026/8/15 0:03:07

重新定义数据接口:3个突破性场景让通达信数据读取更智能 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 当我们面对海量金融数据时,传统的数据获取方式往往让我们陷入困境—…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/15 1:04:46

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/15 10:10:27

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/14 19:35:14

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…