标签: ubi

microdnf update 命令安装新软件包,而不仅仅是更新现有软件包

registry.access.redhat.com/ubi8/ubi-minimal我的 Dockerfile 使用具有包管理器的基础映像microdnf

当我在 docker 文件中包含以下代码片段以获取现有软件包的最新更新时,

RUN true \
    && microdnf clean all \
    && microdnf update --nodocs \
    && microdnf clean all \
    && true
Run Code Online (Sandbox Code Playgroud)

它不仅升级了 4 个现有软件包,还安装了 33 个新软件包,

Transaction Summary:
 Installing:       33 packages
 Reinstalling:      0 packages
 Upgrading:         4 packages
 Removing:          0 packages
 Downgrading:       0 packages
Run Code Online (Sandbox Code Playgroud)

dnf文档并不建议它应该安装新的软件包。这是一个错误吗microdnf

microdnf update新图像大小也增加了约 75MB

redhat dockerfile dnf ubi

11
推荐指数
1
解决办法
2万
查看次数

解压 ubi 镜像,其中包含 ubifs 镜像

我在研究过程中遇到了一个问题。我有一个从互联网下载的固件文件,我试图解压它以模拟固件。好消息是,我成功完成了一次,但我恢复了我的机器,现在无法重新创建该过程。

首先,任何工具都无法提取该文件,因为您会收到一条错误消息,指出找到的布局块少于 2 个。

之后我转储了 ubi 文件的一些信息:

==> app_ubifs <==
1 named volumes found, 2 physical volumes, blocksize=0x20000
== volume b'bakfs' ==
-rw-r--r--  1 0     0       37879808 2020-04-22 01:27:47 ubifs
Run Code Online (Sandbox Code Playgroud)

因此,从我成功获得此操作的那一刻起,我就知道在 bakfs 卷中还有另一个 ubifs 映像,可以通过公共工具成功提取该映像。

我已经测试了很多方法来安装这个图像,但它总是在安装时失败。

modprobe ubi 

modprobe nandsim first_id_byte=0x20 second_id_byte=0xaa \
                 third_id_byte=0x00 fourth_id_byte=0x15
Run Code Online (Sandbox Code Playgroud)

我相信这是 blocksize=0x20000 的正确配置。

ubiformat /dev/mtd0 -f app_ubifs   
ubiformat: mtd0 (nand), size 268435456 bytes (256.0 MiB), 2048 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 2048 bytes
libscan: scanning eraseblock 2047 -- 100 % complete …
Run Code Online (Sandbox Code Playgroud)

linux firmware ubifs ubi

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

ubi ×2

dnf ×1

dockerfile ×1

firmware ×1

linux ×1

redhat ×1

ubifs ×1