[OE-core] [PATCH v2] wic: do not overwrite autogenerated /etc/fstab with original too early
Tom Zanussi
tom.zanussi at intel.com
Fri Jul 25 00:49:49 UTC 2014
On Thu, 2014-07-24 at 14:27 +0200, Maciej Borzecki wrote:
> DirectImageCreator.__write_fstab() generates new /etc/fstab in sysroot
> with rootfs contents. The fstab entries are generated base on the
> initialn contents of /etc/fstab, plus any extra (other than / or
> /boot) partitions listed in *.wks. A backup of original /etc/fstab is
> done in a temp location. Subsequent call to __restore_fstab() restores
> the backup copy, replacing the autogenerated one.
>
> Calling __restore_fstab() before Wic_PartData.prepare() brings back the
> original fstab before the partition image file actually is created. As
> such, the autogenerated /etc/fstab will not make it to the partition.
>
OK, I knew there was something funny about this, and it wasn't really
fixing the problem. I also knew that it had previously worked, and
digging around realized that the problem was that the recent patch 'wic:
Extend --rootfs-dir to connect rootfs-dirs' is what actually broke
things.
So this patch shouldn't be applied - I need to look at it a bit more and
come up with a proper fix..
Tom
> Signed-off-by: Maciej Borzecki <maciej.borzecki at open-rnd.pl>
> Signed-off-by: Maciek Borzecki <maciek.borzecki at gmail.com>
> ---
>
> Notes:
> Previous version got messed up during merges and faulty code was sent
> out. This one works as expected.
>
> scripts/lib/mic/imager/direct.py | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/lib/mic/imager/direct.py b/scripts/lib/mic/imager/direct.py
> index 2cf4c8d..77a118a 100644
> --- a/scripts/lib/mic/imager/direct.py
> +++ b/scripts/lib/mic/imager/direct.py
> @@ -262,10 +262,12 @@ class DirectImageCreator(BaseImageCreator):
> # when/if we need to actually do package selection we
> # should modify things to use those objects, but for now
> # we can avoid that.
> +
> + fstab = self.__write_fstab(self.rootfs_dir.get("ROOTFS_DIR"))
> +
> p.prepare(self, self.workdir, self.oe_builddir, self.rootfs_dir,
> self.bootimg_dir, self.kernel_dir, self.native_sysroot)
>
> - fstab = self.__write_fstab(p.get_rootfs())
> self._restore_fstab(fstab)
>
> self.__instimage.add_partition(int(p.size),
> @@ -278,6 +280,7 @@ class DirectImageCreator(BaseImageCreator):
> boot = p.active,
> align = p.align,
> part_type = p.part_type)
> +
> self.__instimage.layout_partitions(self._ptable_format)
>
> self.__imgdir = self.workdir
More information about the Openembedded-core
mailing list