我有一个工作良好的嵌入式Linux环境,我想保存rootfs部分,然后用空的nand闪存其他新板。
所以,我尝试的是。从barebox (在引导kernell之前),我将/dev/nand0.root.bb放到我的PC的tftp服务器上。
然后,我尝试在rootfs.ubifs中将其重命名,并在合适的位置从另一个(和一个新的)板上调用"update -t rootfs“脚本。
大小不同: 17301504原始rootfs.ubifs 264630784 /dev/nand0.root.bb
问题是系统未正确启动。
这里有人是这样工作的吗?我需要帮助..。
发布于 2015-09-04 20:55:09
维克奈特
你应该以不同的方式来做这件事。UBI文件系统不同于nand闪存上的其他镜像(MLO、barebox、内核),甚至不同于硬盘镜像。因此,不能只使用nand0.root.bb分区上的cp来复制它。这就是为什么你的新系统不能正确引导的原因。
不幸的是,我也在寻找一个解决方案来做到这一点,但我只知道另一个方向(从ubifs图像复制到flash)也不能像这样做。
我认为你应该首先在你的光盘箱里准备好UBI工具( ubiattach,ubiformat)。如果你不这样做,也许可以为你的系统寻找一个支持的光盒版本,并将其刷新(当然是在备份旧版本之前)。这是我之前遇到的问题之一。如果你知道如何编译一个完全适合你的系统,那么进入menuconfig,你应该能找到正确的ubi命令。
但是,使用此命令时,我认为方法可能是将/dev/nand0.root.bb作为新的字符设备附加到系统,如下所示:
ubiattach /dev/nand0.root
UBI: attaching mtd0 to ubi0
...
...当你想要将一个新的图像闪存到nand时,至少是这样的。它创建了一个/dev/ubi0节点。不幸的是,我尝试了一下,但在下面的mount命令上失败了,只是为了测试是否正确地创建了它:
mount /dev/ubi0 /mnt/rootfs
mount: bad file number因此,即使挂载失败,我也认为这不是创建镜像的正确方式,但可能是指向它的正确方向。也许其他人知道完整的解决方案?
Zoli
https://stackoverflow.com/questions/28587563
复制相似问题