Linux系统获取开发板的文件系统并打包成img文件

应用情形:

在实际的开发中,由于原系统包含的功能有限,而根据项目的需要,安装了相应的库及运行项目程序所创建的各种文件,和所做 的各种配置,想将调试好的系统打包发布,进行批量生产,就可参考本文提供的方法。

操作:

1.开发板可能需要安装rsync,用指令安装: sudo apt-get install rsync.

2.在电脑主机上建立文件夹,mkdir ubuntuFs.

3.确保主机能ping通开发板,在主机执行指令,rsync -avx root@169.254.1.32:/ ubuntuFs,ip为开发板的ip,执行该指令后就能将 开发板的文件系统同步到主机上。

4.制作镜像,主机执行指令,dd if=/dev/zero of=ubuntu.img bs=1M count=3000,设置count大小要比根据文件系统大。

5.格式化镜像文件,并加入linuxroot卷标:sudo mkfs.ext4 -F -L linuxroot ubuntu.img。

6.挂载镜像并往里面拷入修改后的文件系统:

mkdir ubuntu-mount

sudo mount ubuntu.img ubuntu-mount

sudo cp -rfp ubuntu/* ubuntu-mount

缷载镜像:

sudo umount ubuntu-mount

7.检查并修复ubuntu.img镜像的文件系统,e2fsck -p -f ubuntu.img。

8.精简镜像文件大小,resize2fs -M ubuntu.img

至此,开发板的文件系统已经重新打包成了ubuntu.img,用该文件和相应的内核文件就可生成系统镜像,烧录镜像后就可直接运行用户程序,从而省掉了重新安装包和其他配置的工作。

参考:http://dev.t-firefly.com/thread-10971-1-1.html http://dev.t-firefly.com/thread-10963-1-1.html

posted @   schips  阅读(2525)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示