aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2011-03-17 19:09:39 +0000
committerFelix Fietkau <nbd@openwrt.org>2011-03-17 19:09:39 +0000
commit66bcd1d04900c97dda49883470fb5009609a3766 (patch)
treed0af21c503b4ebb85ee1e41ac8181d353db73c55
parent629e73938eae1add67c2cbfdd62672f529422045 (diff)
downloadupstream-66bcd1d04900c97dda49883470fb5009609a3766.tar.gz
upstream-66bcd1d04900c97dda49883470fb5009609a3766.tar.bz2
upstream-66bcd1d04900c97dda49883470fb5009609a3766.zip
base-files: add initial support for mounting overlayfs
SVN-Revision: 26207
-rw-r--r--package/base-files/files/lib/firstboot/10_reset_has_mini_fo6
-rw-r--r--package/base-files/files/lib/firstboot/20_has_mini_fo6
-rw-r--r--package/base-files/files/lib/functions/boot.sh4
3 files changed, 9 insertions, 7 deletions
diff --git a/package/base-files/files/lib/firstboot/10_reset_has_mini_fo b/package/base-files/files/lib/firstboot/10_reset_has_mini_fo
index 125af0faea..4e285840a9 100644
--- a/package/base-files/files/lib/firstboot/10_reset_has_mini_fo
+++ b/package/base-files/files/lib/firstboot/10_reset_has_mini_fo
@@ -3,10 +3,10 @@
# Copyright (C) 2006-2010 OpenWrt.org
# Copyright (C) 2010 Vertical Communications
-reset_check_for_mini_fo() {
- if grep -q mini_fo /proc/filesystems; then
+reset_check_for_overlay() {
+ if grep -qE '(mini_fo|overlay)' /proc/filesystems; then
reset_has_fo=true
fi
}
-boot_hook_add jffs2reset reset_check_for_mini_fo
+boot_hook_add jffs2reset reset_check_for_overlay
diff --git a/package/base-files/files/lib/firstboot/20_has_mini_fo b/package/base-files/files/lib/firstboot/20_has_mini_fo
index 257b2b54c4..8ca6a4fe58 100644
--- a/package/base-files/files/lib/firstboot/20_has_mini_fo
+++ b/package/base-files/files/lib/firstboot/20_has_mini_fo
@@ -3,11 +3,11 @@
# Copyright (C) 2006-2010 OpenWrt.org
# Copyright (C) 2010 Vertical Communications
-check_for_mini_fo() {
- if ! grep -q mini_fo /proc/filesystems; then
+check_for_overlay() {
+ if ! grep -qE '(mini_fo|overlay)' /proc/filesystems; then
boot_run_hook no_fo
exit 1
fi
}
-boot_hook_add switch2jffs check_for_mini_fo
+boot_hook_add switch2jffs check_for_overlay
diff --git a/package/base-files/files/lib/functions/boot.sh b/package/base-files/files/lib/functions/boot.sh
index a4ec7be5b2..6bdd7a1490 100644
--- a/package/base-files/files/lib/functions/boot.sh
+++ b/package/base-files/files/lib/functions/boot.sh
@@ -125,7 +125,9 @@ pivot() { # <new_root> <old_root>
fopivot() { # <rw_root> <ro_root> <dupe?>
root=$1
{
- if grep -q mini_fo /proc/filesystems; then
+ if grep -q overlay /proc/filesystems; then
+ mount -t overlayfs -olowerdir=/,upperdir=$1 "overlayfs:$1" /mnt && root=/mnt
+ elif grep -q mini_fo /proc/filesystems; then
mount -t mini_fo -o base=/,sto=$1 "mini_fo:$1" /mnt 2>&- && root=/mnt
else
mount --bind / /mnt