背景
嵌入式Linux系统通常在调试稳定后,会对磁盘(SSD、NVME、SD卡、TF卡)做个镜像,通常是.img
后缀的文件,以后组装新设备时,就将镜像文件烧录到新磁盘即可,非常简单。
这种方法有个不便之处,就是当某些关键文件(LCD、触屏、按键等人机交互设备的驱动)有改动时,就需要重新对磁盘做镜像,如果手头没有相同容量的磁盘,就很麻烦。
思路
一种简单的办法是用Linux Reader打开img文件,更新其中内容后保存即可,但是该软件只能读,不能写,而且还收费,放弃。
想起Linux有loop设备的概念,类似于虚拟光驱
,如果能将img文件像下图一样加载就好了。
查了一圈资料,自己将资料综合起来并做实验,找到实现方法。
实现方法
关键工具是losetup
命令(桌面Linux自带),具体步骤如下示例:
- 将镜像文件Foo.img上传到一台桌面Linux环境(物理机/虚拟机均可)
- 进入桌面Linux的终端,执行
ls /dev/loop* | sort<