diff options
author | Felix Fietkau <nbd@openwrt.org> | 2011-03-17 19:09:39 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2011-03-17 19:09:39 +0000 |
commit | d5e202e2892179928b52cb2da0111f8b4d691e6d (patch) | |
tree | bdd6743da7f08343b102e99baa6a31d02c6afd76 | |
parent | a99ab5f02ef539f9f5147dcc0983e1ffeb5c2ef0 (diff) | |
download | master-187ad058-d5e202e2892179928b52cb2da0111f8b4d691e6d.tar.gz master-187ad058-d5e202e2892179928b52cb2da0111f8b4d691e6d.tar.bz2 master-187ad058-d5e202e2892179928b52cb2da0111f8b4d691e6d.zip |
base-files: add initial support for mounting overlayfs
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26207 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r-- | package/base-files/files/lib/firstboot/10_reset_has_mini_fo | 6 | ||||
-rw-r--r-- | package/base-files/files/lib/firstboot/20_has_mini_fo | 6 | ||||
-rw-r--r-- | package/base-files/files/lib/functions/boot.sh | 4 |
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 |