base-files: fix mount-utils incompatibility

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39169 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
John Crispin 2013-12-27 21:15:09 +00:00
parent c18a4e048c
commit 41d0bfcc1f
4 changed files with 25 additions and 25 deletions

View File

@ -50,7 +50,7 @@ boot() {
touch /var/log/lastlog touch /var/log/lastlog
touch /tmp/resolv.conf.auto touch /tmp/resolv.conf.auto
ln -sf /tmp/resolv.conf.auto /tmp/resolv.conf ln -sf /tmp/resolv.conf.auto /tmp/resolv.conf
grep -q debugfs /proc/filesystems && mount -o noatime -t debugfs debugfs /sys/kernel/debug grep -q debugfs /proc/filesystems && /bin/mount -o noatime -t debugfs debugfs /sys/kernel/debug
[ "$FAILSAFE" = "true" ] && touch /tmp/.failsafe [ "$FAILSAFE" = "true" ] && touch /tmp/.failsafe
/sbin/kmodloader /sbin/kmodloader

View File

@ -4,5 +4,5 @@
STOP=99 STOP=99
stop() { stop() {
sync sync
umount -a -d -r /bin/umount -a -d -r
} }

View File

@ -568,12 +568,12 @@ dupe() { # <new_root> <old_root>
} }
pivot() { # <new_root> <old_root> pivot() { # <new_root> <old_root>
mount -o noatime,move /proc $1/proc && \ /bin/mount -o noatime,move /proc $1/proc && \
pivot_root $1 $1$2 && { pivot_root $1 $1$2 && {
mount -o noatime,move $2/dev /dev /bin/mount -o noatime,move $2/dev /dev
mount -o noatime,move $2/tmp /tmp /bin/mount -o noatime,move $2/tmp /tmp
mount -o noatime,move $2/sys /sys 2>&- /bin/mount -o noatime,move $2/sys /sys 2>&-
mount -o noatime,move $2/overlay /overlay 2>&- /bin/mount -o noatime,move $2/overlay /overlay 2>&-
return 0 return 0
} }
} }
@ -582,16 +582,16 @@ fopivot() { # <rw_root> <ro_root> <dupe?>
root=$1 root=$1
{ {
if grep -q overlay /proc/filesystems; then if grep -q overlay /proc/filesystems; then
mount -o noatime,lowerdir=/,upperdir=$1 -t overlayfs "overlayfs:$1" /mnt && root=/mnt /bin/mount -o noatime,lowerdir=/,upperdir=$1 -t overlayfs "overlayfs:$1" /mnt && root=/mnt
elif grep -q mini_fo /proc/filesystems; then elif grep -q mini_fo /proc/filesystems; then
mount -t mini_fo -o noatime,base=/,sto=$1 "mini_fo:$1" /mnt 2>&- && root=/mnt /bin/mount -t mini_fo -o noatime,base=/,sto=$1 "mini_fo:$1" /mnt 2>&- && root=/mnt
else else
mount --bind -o noatime / /mnt /bin/mount --bind -o noatime / /mnt
mount --bind -o noatime,union "$1" /mnt && root=/mnt /bin/mount --bind -o noatime,union "$1" /mnt && root=/mnt
fi fi
} || { } || {
[ "$3" = "1" ] && { [ "$3" = "1" ] && {
mount | grep "on $1 type" 2>&- 1>&- || mount -o noatime,bind $1 $1 /bin/mount | grep "on $1 type" 2>&- 1>&- || /bin/mount -o noatime,bind $1 $1
dupe $1 $rom dupe $1 $rom
} }
} }
@ -600,7 +600,7 @@ fopivot() { # <rw_root> <ro_root> <dupe?>
ramoverlay() { ramoverlay() {
mkdir -p /tmp/root mkdir -p /tmp/root
mount -t tmpfs -o noatime,mode=0755 root /tmp/root /bin/mount -t tmpfs -o noatime,mode=0755 root /tmp/root
fopivot /tmp/root /rom 1 fopivot /tmp/root /rom 1
} }

View File

@ -34,18 +34,18 @@ install_bin() { # <file> [ <symlink> ... ]
} }
supivot() { # <new_root> <old_root> supivot() { # <new_root> <old_root>
mount | grep "on $1 type" 2>&- 1>&- || mount -o bind $1 $1 /bin/mount | grep "on $1 type" 2>&- 1>&- || /bin/mount -o bind $1 $1
mkdir -p $1$2 $1/proc $1/sys $1/dev $1/tmp $1/overlay && \ mkdir -p $1$2 $1/proc $1/sys $1/dev $1/tmp $1/overlay && \
mount -o noatime,move /proc $1/proc && \ /bin/mount -o noatime,move /proc $1/proc && \
pivot_root $1 $1$2 || { pivot_root $1 $1$2 || {
umount -l $1 $1 /bin/umount -l $1 $1
return 1 return 1
} }
mount -o noatime,move $2/sys /sys /bin/mount -o noatime,move $2/sys /sys
mount -o noatime,move $2/dev /dev /bin/mount -o noatime,move $2/dev /dev
mount -o noatime,move $2/tmp /tmp /bin/mount -o noatime,move $2/tmp /tmp
mount -o noatime,move $2/overlay /overlay 2>&- /bin/mount -o noatime,move $2/overlay /overlay 2>&-
return 0 return 0
} }
@ -67,12 +67,12 @@ run_ramfs() { # <command> [...]
exit 1 exit 1
} }
mount -o remount,ro /mnt /bin/mount -o remount,ro /mnt
umount -l /mnt /bin/umount -l /mnt
grep /overlay /proc/mounts > /dev/null && { grep /overlay /proc/mounts > /dev/null && {
mount -o noatime,remount,ro /overlay /bin/mount -o noatime,remount,ro /overlay
umount -l /overlay /bin/umount -l /overlay
} }
# spawn a new shell from ramdisk to reduce the probability of cache issues # spawn a new shell from ramdisk to reduce the probability of cache issues
@ -144,7 +144,7 @@ v() {
} }
rootfs_type() { rootfs_type() {
mount | awk '($3 ~ /^\/$/) && ($5 !~ /rootfs/) { print $5 }' /bin/mount | awk '($3 ~ /^\/$/) && ($5 !~ /rootfs/) { print $5 }'
} }
get_image() { # <source> [ <command> ] get_image() { # <source> [ <command> ]