mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
Do not overload mount-call - trying to reduce confusion
The behaviour of calling 'mount' differed depending on whether it called the busybox-mount, the mount of util-linux, the mount defined in /lib/functions.sh and /lib/functions/boot.sh /etc/preinit even included /lib/functions.sh and /lib/functions/boot.sh, both re-defining 'mount'. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34792 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@@ -2,10 +2,6 @@
|
||||
# Copyright (C) 2006-2010 OpenWrt.org
|
||||
# Copyright (C) 2010 Vertical Communications
|
||||
|
||||
mount() {
|
||||
/bin/busybox mount -o noatime "$@"
|
||||
}
|
||||
|
||||
boot_hook_splice_start() {
|
||||
export -n PI_HOOK_SPLICE=1
|
||||
}
|
||||
@@ -112,12 +108,12 @@ dupe() { # <new_root> <old_root>
|
||||
}
|
||||
|
||||
pivot() { # <new_root> <old_root>
|
||||
mount -o move /proc $1/proc && \
|
||||
mount -o noatime,move /proc $1/proc && \
|
||||
pivot_root $1 $1$2 && {
|
||||
mount -o move $2/dev /dev
|
||||
mount -o move $2/tmp /tmp
|
||||
mount -o move $2/sys /sys 2>&-
|
||||
mount -o move $2/overlay /overlay 2>&-
|
||||
mount -o noatime,move $2/dev /dev
|
||||
mount -o noatime,move $2/tmp /tmp
|
||||
mount -o noatime,move $2/sys /sys 2>&-
|
||||
mount -o noatime,move $2/overlay /overlay 2>&-
|
||||
return 0
|
||||
}
|
||||
}
|
||||
@@ -126,16 +122,16 @@ fopivot() { # <rw_root> <ro_root> <dupe?>
|
||||
root=$1
|
||||
{
|
||||
if grep -q overlay /proc/filesystems; then
|
||||
mount -t overlayfs -olowerdir=/,upperdir=$1 "overlayfs:$1" /mnt && root=/mnt
|
||||
mount -o noatime,lowerdir=/,upperdir=$1 -t overlayfs "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 noatime,base=/,sto=$1 "mini_fo:$1" /mnt 2>&- && root=/mnt
|
||||
else
|
||||
mount --bind / /mnt
|
||||
mount --bind -o union "$1" /mnt && root=/mnt
|
||||
mount --bind -o noatime / /mnt
|
||||
mount --bind -o noatime,union "$1" /mnt && root=/mnt
|
||||
fi
|
||||
} || {
|
||||
[ "$3" = "1" ] && {
|
||||
mount | grep "on $1 type" 2>&- 1>&- || mount -o bind $1 $1
|
||||
mount | grep "on $1 type" 2>&- 1>&- || mount -o noatime,bind $1 $1
|
||||
dupe $1 $rom
|
||||
}
|
||||
}
|
||||
@@ -144,7 +140,7 @@ fopivot() { # <rw_root> <ro_root> <dupe?>
|
||||
|
||||
ramoverlay() {
|
||||
mkdir -p /tmp/root
|
||||
mount -t tmpfs -o mode=0755 root /tmp/root
|
||||
mount -t tmpfs -o noatime,mode=0755 root /tmp/root
|
||||
fopivot /tmp/root /rom 1
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user