6

我正在创建一个非常简单的基于 x86 的 Yocto 图像。

我希望 / 文件系统是只读的,所以我设置

IMAGE_FEATURES_append = " read-only-rootfs "

在原件的自定义副本中core-image-minimal.bb。不过,我确实希望将/home可写文件放在单独的分区上。

所以,我要添加一行

part /home --ondisk sda --fstype=ext4 --label home --align 1024 --size 600

在 genericx86.wks 中。这在最终的 wic 映像中创建了实际的/home分区,但它自然不保存任何数据,因为它没有对应rootfs的。这会导致启动后出现以下非常预期的消息:No directory, logging in with HOME=/.

令人惊讶的是,互联网上关于此的信息很少。有这样的解释:

创建或修改构建配方以为每个分区准备一个 rootfs 目录要简单得多。

我只是希望在文档或示例中有任何关于如何实现这一点的参考。

我可以看到分区正在由 python 脚本(插件)填充rootfs.py,并且图像参数IMAGE_ROOTFS_SIZE在提到的图像配方文件中指定genericx86.wks,但是这不足以让我将这些部分连接在一起。

我已经阅读了created -partitioned-images-using-wic和链接的openembedded kickstart手册,那里没有任何线索。

感谢某人的善意帮助。

4

1 回答 1

16

使用 WIC,您可以执行以下操作:

custom.wks.in

...

part / --source rootfs --ondisk sda --fstype=ext4 --label system --exclude-path=home/    
part /home --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/home --ondisk sda --fstype=ext4 --label home

...

请注意,如果您想在 WKS 文件中使用后缀${IMAGE_ROOTFS}来命名它,这一点很重要。.in

于 2019-05-17T15:04:37.993 回答