diff mbox

[OpenWrt-Devel] base-files: fix ramoverlay function with kernels 3.18+

Message ID 1442492656-19792-1-git-send-email-helmut.schaa@googlemail.com
State Accepted
Headers show

Commit Message

Helmut Schaa Sept. 17, 2015, 12:24 p.m. UTC
Even though there are not many users left within the OpenWrt tree it seems
this function broke during the kernel 3.18 transition.

Fix it by providing a workdir as required by overlayfs.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
---
 package/base-files/files/lib/functions/preinit.sh | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
diff mbox

Patch

diff --git a/package/base-files/files/lib/functions/preinit.sh b/package/base-files/files/lib/functions/preinit.sh
index db1f298..57862a1 100644
--- a/package/base-files/files/lib/functions/preinit.sh
+++ b/package/base-files/files/lib/functions/preinit.sh
@@ -75,13 +75,14 @@  pivot() { # <new_root> <old_root>
 	}
 }
 
-fopivot() { # <rw_root> <ro_root> <dupe?>
-	/bin/mount -o noatime,lowerdir=/,upperdir=$1 -t overlayfs "overlayfs:$1" /mnt
-	pivot /mnt $2
+fopivot() { # <rw_root> <work_dir> <ro_root> <dupe?>
+	/bin/mount -o noatime,lowerdir=/,upperdir=$1,workdir=$2 -t overlay "overlayfs:$1" /mnt
+	pivot /mnt $3
 }
 
 ramoverlay() {
 	mkdir -p /tmp/root
 	/bin/mount -t tmpfs -o noatime,mode=0755 root /tmp/root
-	fopivot /tmp/root /rom 1
+	mkdir -p /tmp/root/root /tmp/root/work
+	fopivot /tmp/root/root /tmp/root/work /rom 1
 }