diff options
author | Ed Bartosh <ed.bartosh@linux.intel.com> | 2017-09-05 14:54:36 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-09-11 17:30:11 +0100 |
commit | b591ba6f4d684aef3d7666bbdc678954e3255df5 (patch) | |
tree | 9a589baddfc5e84278e0189521b3d8dac7650a2b /scripts/lib | |
parent | ff9f629d70a9016f8f40d3d68c80111897c7a2c3 (diff) | |
download | openembedded-core-b591ba6f4d684aef3d7666bbdc678954e3255df5.tar.gz openembedded-core-b591ba6f4d684aef3d7666bbdc678954e3255df5.tar.bz2 openembedded-core-b591ba6f4d684aef3d7666bbdc678954e3255df5.zip |
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>
Diffstat (limited to 'scripts/lib')
-rw-r--r-- | scripts/lib/wic/engine.py | 15 |
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.""" |