【问题标题】:Apply incremental patches on ubifs volume在 ubifs 卷上应用增量补丁
【发布时间】:2018-06-05 12:19:52
【问题描述】:

要通过将 ubifs 卷替换为全新的内容来更新它,可以使用来自 mtd-utils 的 ubiupdatevol:

ubiupdatevol /dev/ubiX_Y /path/to/ubifs.img

有没有办法在 ubifs 卷上应用补丁而不是替换完整的内容?例如,仅在 /dev/ubiX_Y 上应用二进制差异 b/w ubifs_base.img 和 ubifs_dest.img。

【问题讨论】:

    标签: filesystems flash-memory ubifs


    【解决方案1】:

    我认为你做不到。 UBI 卷写入信息与闪存扇区旋转,以避免一直写入相同的块。 恕我直言,为您的卷提供部分更新的最佳方法是在您现有的文件系统上应用 tarball,并使用脚本删除不需要的文件或使用包管理器。

    【讨论】:

    • 感谢您的建议。事实上,从 zip 更新单个文件/可执行文件正是我们迄今为止所做的。问题出现在这里:
    • 问题出现在这里:我使用 mkfs.ubifs 创建 ubifs 映像,然后将其闪存到 nand 设备上。但是由于 mkfs.ubifs 事先知道 rootfs 的内容,所以实现的压缩效果非常好。通过从 zip/tar 提取应用更新时,不再实现这种压缩(由于动态压缩,它不是最佳的)并且很快我们会填满磁盘空间,导致 ENOSPC 错误。
    • 我明白了。之前说过,我知道的唯一方法是完全重新格式化您的 ubifs 分区,对不起。如果您的分区是只读的(上面没有日志或客户数据),您也许可以创建一个可以应用差异的软件,但您需要注意闪存中的坏块......从这里开始困难的部分。如果您的分区包含客户数据,我不知道您如何与您的生产进行比较。即使是专业的OTA软件也不会进行部分更新 -> rauc
    猜你喜欢
    • 1970-01-01
    • 2015-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-27
    • 1970-01-01
    相关资源
    最近更新 更多