summaryrefslogtreecommitdiff
path: root/morphlib/builder.py
diff options
context:
space:
mode:
authorAdam Coldrick <adam.coldrick@codethink.co.uk>2015-02-05 13:51:23 +0000
committerAdam Coldrick <adam.coldrick@codethink.co.uk>2015-02-06 12:57:49 +0000
commit9f5b2d64071ab8416487b5fc265908a511a9bf68 (patch)
treec7804a83b66ab4544f74dfbfc5ca7b5adf97c073 /morphlib/builder.py
parent3f7e38a7f2721a404ebbfb130b51fa639a9e7360 (diff)
downloadmorph-9f5b2d64071ab8416487b5fc265908a511a9bf68.tar.gz
Overlayfs is new in version 3.18 of the kernel, so add support for a different implementation of a union/overlay filesystem in order to allow morph to work on older kernels.
Diffstat (limited to 'morphlib/builder.py')
-rw-r--r--morphlib/builder.py13
1 files changed, 6 insertions, 7 deletions
diff --git a/morphlib/builder.py b/morphlib/builder.py
index 40df10c3..cfba83c7 100644
--- a/morphlib/builder.py
+++ b/morphlib/builder.py
@@ -558,19 +558,18 @@ class SystemBuilder(BuilderBase): # pragma: no cover
try:
fs_root = self.staging_area.destdir(self.source)
self.unpack_strata(fs_root)
- overlay_root = self.staging_area.overlay_upperdir(
+ upperdir = self.staging_area.overlay_upperdir(
self.source)
editable_root = self.staging_area.overlaydir(self.source)
workdir = os.path.join(self.staging_area.dirname,
'overlayfs-workdir')
if not os.path.exists(workdir):
os.makedirs(workdir)
- options = '-olowerdir=%s,upperdir=%s,workdir=%s' % \
- (fs_root, overlay_root, workdir)
- morphlib.fsutils.mount(self.app.runcmd,
- 'overlay-%s' % a_name,
- editable_root,
- 'overlay', options)
+ morphlib.fsutils.overlay_mount(self.app.runcmd,
+ 'overlay-%s' % a_name,
+ editable_root, fs_root,
+ upperdir, workdir,
+ self.app.settings)
self.write_metadata(editable_root, a_name)
self.run_system_integration_commands(editable_root)
unslashy_root = editable_root[1:]