在SWUpdate使用的其他FSTYPE中使用wic生成的fstab

问题描述 投票:0回答:1

我正在尝试使用 swupdate 对基于 yocto 的系统实施更新。问题是,我实际上在

.wic
.tar.gz
版本的图像中没有相同的内容。第一个具有从
.wks
文件生成的分区表,另一个具有来自
poky
的默认分区表。

Tl;博士

我的问题的简短版本是:我可以在

/etc/fstab
中获取由
wic
生成的
rootfs
用于除
.wic
之外的导出吗?

配置

所以我有一个项目,它生成三个文件作为输出

IMAGE_FSTYPES = "wic.bz2 wic.bmap tar.gz"

最重要的是,我有一个

my-project-swu
配方,它使用基本图像生成
.swu
文件

IMAGE_DEPENDS = "my-project-full"
SWUPDATE_IMAGES = " \
    my-project-full \
"
SWUPDATE_IMAGES_FSTYPES[my-project-full] = ".tar.gz"

并且

wic
文件是根据以下
wks
配置生成的

part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --active --align 4096
part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label root --align 4096 --size=1G
part --ondisk mmcblk0 --label alt_rootfs --align 4096  --size=1G
part /data       --size 1G --ondisk mmcblk0 --fstype=ext4 --label data --align 4096

问题

当我第一次使用

bmaptool
部署映像时,
/etc/fstab
文件包含以下内容

/dev/root            /                    auto       defaults              1  1
# Some default values here ...

/dev/mmcblk0p1  /boot   vfat    defaults        0       0
/dev/mmcblk0p4  /data   ext4    defaults        0       0

这包括

/boot
分区,其中包含
u-boot
使用的
SWUpdate
环境以及数据分区。

但是成功更新后文件包含:

/dev/root            /                    auto       defaults              1  1
# Some default values here ...

所以现在

/boot
丢失了,因此尝试向
u-boot
发出启动成功的信号是行不通的,并且
/data
分区也不可用。现在,我可以在更新后将文件从一个根复制到下一个根,但这仅在我有可写根时有效,但情况可能并不总是如此。

如果我查看构建目录,我确实会看到两个文件

./tmp-glibc/work/raspberrypi3_64-oe-linux/my-project-full/1.0-r0/build-wic/fstab
具有完整版本,而
./tmp-glibc/work/raspberrypi3_64-oe-linux/my-project-full/1.0-r0/rootfs/etc/fstab
具有默认版本。据我了解,这是可以预料的,因为
wic
仅针对
.wic
输出自动执行,因此添加或删除
.wic
输出不会影响不相关的输出。

可能的解决方案?

解决该问题的最简单的解决方案是用硬编码文件替换默认的

fstab
文件,但这意味着
wks
fstab
之间的信息必须保持一致,我宁愿只使用该文件由
wic
生成,作为
.swu
文件的基础。

另一种解决方案是直接使用

.wic
文件作为我的更新的输入。虽然我认为这是可能的,但这看起来不像是标准的事情,也不是正确的方法。

所以理想情况下我宁愿将

fstab
直接放在
.wic
中,这样无论使用哪种格式导出,分区都会一致使用,但我不明白我怎样才能做到这一点。
    

yocto swupdate yocto-wic
1个回答
0
投票
rootfs

传递其他参数。您的情况的开关是

WIC_CREATE_EXTRA_ARGS
例如在你的

--no-fstab-update

meta-myproject-bsp/conf/machine/mydevice.conf

缺点:您必须添加自己的 /etc/fstab 并且必须使其与您的 *.wks 文件保持同步

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.