base-files: add initial support for mounting overlayfs
SVN-Revision: 26207
This commit is contained in:
		@@ -3,10 +3,10 @@
 | 
				
			|||||||
# Copyright (C) 2006-2010 OpenWrt.org
 | 
					# Copyright (C) 2006-2010 OpenWrt.org
 | 
				
			||||||
# Copyright (C) 2010 Vertical Communications
 | 
					# Copyright (C) 2010 Vertical Communications
 | 
				
			||||||
 | 
					
 | 
				
			||||||
reset_check_for_mini_fo() {
 | 
					reset_check_for_overlay() {
 | 
				
			||||||
    if grep -q mini_fo /proc/filesystems; then
 | 
					    if grep -qE '(mini_fo|overlay)' /proc/filesystems; then
 | 
				
			||||||
	reset_has_fo=true
 | 
						reset_has_fo=true
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
boot_hook_add jffs2reset reset_check_for_mini_fo
 | 
					boot_hook_add jffs2reset reset_check_for_overlay
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,11 +3,11 @@
 | 
				
			|||||||
# Copyright (C) 2006-2010 OpenWrt.org
 | 
					# Copyright (C) 2006-2010 OpenWrt.org
 | 
				
			||||||
# Copyright (C) 2010 Vertical Communications
 | 
					# Copyright (C) 2010 Vertical Communications
 | 
				
			||||||
 | 
					
 | 
				
			||||||
check_for_mini_fo() {
 | 
					check_for_overlay() {
 | 
				
			||||||
    if ! grep -q mini_fo /proc/filesystems; then
 | 
					    if ! grep -qE '(mini_fo|overlay)' /proc/filesystems; then
 | 
				
			||||||
	boot_run_hook no_fo
 | 
						boot_run_hook no_fo
 | 
				
			||||||
	exit 1
 | 
						exit 1
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
boot_hook_add switch2jffs check_for_mini_fo
 | 
					boot_hook_add switch2jffs check_for_overlay
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -125,7 +125,9 @@ pivot() { # <new_root> <old_root>
 | 
				
			|||||||
fopivot() { # <rw_root> <ro_root> <dupe?>
 | 
					fopivot() { # <rw_root> <ro_root> <dupe?>
 | 
				
			||||||
	root=$1
 | 
						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
 | 
								mount -t mini_fo -o base=/,sto=$1 "mini_fo:$1" /mnt 2>&- && root=/mnt
 | 
				
			||||||
		else
 | 
							else
 | 
				
			||||||
			mount --bind / /mnt
 | 
								mount --bind / /mnt
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user