aboutsummaryrefslogtreecommitdiffstats
path: root/package/base-files
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2015-09-21 17:43:12 +0000
committerFelix Fietkau <nbd@openwrt.org>2015-09-21 17:43:12 +0000
commit28a46862207c0a0178a0a1ecf8fea35b827a3ae0 (patch)
tree48a5e02cb5e644b683aba2b125367a8bf74a1707 /package/base-files
parent07aa5a1b70c652210f12edc62875c88d389e1f47 (diff)
downloadupstream-28a46862207c0a0178a0a1ecf8fea35b827a3ae0.tar.gz
upstream-28a46862207c0a0178a0a1ecf8fea35b827a3ae0.tar.bz2
upstream-28a46862207c0a0178a0a1ecf8fea35b827a3ae0.zip
base-files: fix ramoverlay function with kernels 3.18+
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> Backport of r47015 git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47016 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files')
-rw-r--r--package/base-files/files/lib/functions/preinit.sh9
1 files changed, 5 insertions, 4 deletions
diff --git a/package/base-files/files/lib/functions/preinit.sh b/package/base-files/files/lib/functions/preinit.sh
index db1f298c8b..57862a11f3 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
}