副网,
您应该以不同的方式执行此操作。UBI 文件系统与您的 nand flash 上的其他映像(MLO、barebox、内核)甚至硬盘映像不同。所以它不能只通过在 nand0.root.bb 分区上使用 cp 来复制。这就是为什么您的新系统无法正确启动的原因。
不幸的是,我也在寻找解决方案来做到这一点,但我只知道另一个方向(从 ubifs 图像复制到 flash)也不能像这样完成。
我认为你应该首先在你的裸机中拥有 UBI 工具(ubimkvol、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
因此,即使安装失败,我认为这也不是创建图像的正确方法,但可能是正确的方向。也许其他人知道完整的解决方案?
佐利