aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Bartosh <ed.bartosh@linux.intel.com>2017-09-05 14:54:36 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-09-11 17:30:11 +0100
commitb591ba6f4d684aef3d7666bbdc678954e3255df5 (patch)
tree9a589baddfc5e84278e0189521b3d8dac7650a2b
parentff9f629d70a9016f8f40d3d68c80111897c7a2c3 (diff)
downloadopenembedded-core-contrib-b591ba6f4d684aef3d7666bbdc678954e3255df5.tar.gz
wic: implement ext fs support for 'wic ls'
Implemented listing directory contents for ext file system using debugfs tool. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--scripts/lib/wic/engine.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/scripts/lib/wic/engine.py b/scripts/lib/wic/engine.py
index eafc6c783e..c6a63f2080 100644
--- a/scripts/lib/wic/engine.py
+++ b/scripts/lib/wic/engine.py
@@ -234,7 +234,7 @@ def wic_list(args, scripts_path):
class Disk:
- def __init__(self, imagepath, native_sysroot, fstypes=('fat',)):
+ def __init__(self, imagepath, native_sysroot, fstypes=('fat', 'ext')):
self.imagepath = imagepath
self.native_sysroot = native_sysroot
self.fstypes = fstypes
@@ -280,7 +280,7 @@ class Disk:
def __getattr__(self, name):
"""Get path to the executable in a lazy way."""
if name in ("mdir", "mcopy", "mdel", "mdeltree", "sfdisk", "e2fsck",
- "resize2fs", "mkswap", "mkdosfs"):
+ "resize2fs", "mkswap", "mkdosfs", "debugfs"):
aname = "_%s" % name
if aname not in self.__dict__:
setattr(self, aname, find_executable(name, self.paths))
@@ -314,9 +314,14 @@ class Disk:
seek=self.partitions[pnum].start)
def dir(self, pnum, path):
- return exec_cmd("{} -i {} ::{}".format(self.mdir,
- self._get_part_image(pnum),
- path))
+ if self.partitions[pnum].fstype.startswith('ext'):
+ return exec_cmd("{} {} -R 'ls -l {}'".format(self.debugfs,
+ self._get_part_image(pnum),
+ path), as_shell=True)
+ else: # fat
+ return exec_cmd("{} -i {} ::{}".format(self.mdir,
+ self._get_part_image(pnum),
+ path))
def copy(self, src, pnum, path):
"""Copy partition image into wic image."""