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
This commit is contained in:
Felix Fietkau
2015-09-21 17:43:12 +00:00
parent 07aa5a1b70
commit 28a4686220

View File

@@ -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
}