【问题标题】:How to get a backup of embedded Linux rootfs?如何获取嵌入式 Linux rootfs 的备份?
【发布时间】:2015-02-18 15:41:38
【问题描述】:

我有一个运行良好的嵌入式 Linux 环境,想保存 rootfs 部分,然后用空的 nand 闪存其他新板。

所以,我尝试了什么。从barebox(在kernell启动之前),我把/dev/nand0.root.bb 放到我PC的tftp服务器上。

然后我尝试在 rootfs.ubifs 中重命名它,并在另一个(和一个新的)板上调用“update -t​​ rootfs”脚本的好地方。

尺寸不同: 17301504 原始rootfs.ubifs 264630784 /dev/nand0.root.bb

问题是系统无法正确启动。

这里有人以这种方式工作吗?我需要帮助...

【问题讨论】:

    标签: backup tftp rootfs ubifs


    【解决方案1】:

    维内特,

    您应该以不同的方式执行此操作。 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
    

    因此,即使安装失败,我认为这也不是创建图像的正确方法,但可能是正确的方向。也许其他人知道完整的解决方案?

    佐利

    【讨论】:

    • @Zoli :我不知道解决方案,因为现在我更喜欢在 yocto 构建上工作以将应用程序和任何配置直接集成到 rootfs 映像中。
    猜你喜欢
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    • 2018-07-17
    • 2013-10-22
    • 1970-01-01
    • 2016-01-22
    • 1970-01-01
    • 2015-12-27
    相关资源
    最近更新 更多