From 1a2bc70e6f85f414e7af48489e24c09ff335486d Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Tue, 5 Sep 2017 14:54:37 +0300 Subject: wic: implement ext fs support for 'wic cp' Implemented copying files to the ext partition using debugfs tool. Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- scripts/lib/wic/engine.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/scripts/lib/wic/engine.py b/scripts/lib/wic/engine.py index c6a63f2080..9ebd93ae27 100644 --- a/scripts/lib/wic/engine.py +++ b/scripts/lib/wic/engine.py @@ -325,10 +325,15 @@ class Disk: def copy(self, src, pnum, path): """Copy partition image into wic image.""" - cmd = "{} -i {} -snop {} ::{}".format(self.mcopy, - self._get_part_image(pnum), - src, path) - exec_cmd(cmd) + if self.partitions[pnum].fstype.startswith('ext'): + cmd = "echo -e 'cd {}\nwrite {} {}' | {} -w {}".\ + format(path, src, os.path.basename(src), + self.debugfs, self._get_part_image(pnum)) + else: # fat + cmd = "{} -i {} -snop {} ::{}".format(self.mcopy, + self._get_part_image(pnum), + src, path) + exec_cmd(cmd, as_shell=True) self._put_part_image(pnum) def remove(self, pnum, path): -- cgit 1.2.3-korg