# HG changeset patch # User Pascal Bellard # Date 1402389238 -7200 # Node ID 79aea3c677ca85ea6bd160ffb58e722ec3caa706 # Parent 3e07c0a601fabdef7397f388ba545239dcce9214 init: use busybox mount diff -r 3e07c0a601fa -r 79aea3c677ca init --- a/init Thu May 15 20:47:38 2014 +0300 +++ b/init Tue Jun 10 10:33:58 2014 +0200 @@ -53,11 +53,21 @@ echo -e '\033[70G[ \033[1;3'${1:-1mFailed}'\033[0;39m ]' } +mnt() +{ +busybox mount $@ +} + +umnt() +{ +busybox umount $@ +} + quit() { [ -d /mnt$4/etc ] || return -[ -n "$4" ] || mount /mnt -o remount,ro -mount --move /run /mnt/${1:-run} +[ -n "$4" ] || mnt /mnt -o remount,ro +mnt --move /run /mnt/${1:-run} cat>/run/init</dev/null || insmod $(find /lib/modules|sed "/$i.ko/!dq") + modprobe $i 2>/dev/null || + busybox insmod $(find /lib/modules|sed "/$i.ko/!dq") done } @@ -124,7 +135,7 @@ echo 0 $(cat $(find /sys/block|grep /$d/size))\ crypt aes-plain $k 0 $root 0|dmsetup create $l fi - mount /dev/mapper/$l /mnt + mnt /dev/mapper/$l /mnt fi got subroot && return got loopfs && return @@ -141,7 +152,7 @@ mod dm-mod vgscan --ignorelockingfailure vgchange -ay --ignorelockingfailure -mount /dev/mapper/$root /mnt +mnt /dev/mapper/$root /mnt try /dev/mapper $1 } @@ -159,13 +170,13 @@ } if [ "$1" != "log" ] -then mount -t proc proc /proc - mount -t sysfs sys /sys - mount -t tmpfs tmpfs /run +then mnt -t proc proc /proc + mnt -t sysfs sys /sys + mnt -t tmpfs tmpfs /run x=/sbin/init; echo "[ -x $x ] && exec $x" >/run/init $0 log 2>&1 | tee /run/boot.log - umount /proc - umount /sys + umnt /proc + umnt /sys . /run/init sh fi @@ -201,9 +212,9 @@ mount.posixovl -F /mnt -- -oallow_other -odefault_permissions -osuid fi got loopfs && echo "Into file $root..." && - losetup /dev/loop0 /mnt/$root && mount /dev/loop0 /mnt + losetup /dev/loop0 /mnt/$root && mnt /dev/loop0 /mnt got bindfs && echo "Bind ${root/,/ to }..." && - mount --bind /mnt/${root%,*} /mnt/${root/,//} + mnt --bind /mnt/${root%,*} /mnt/${root/,//} arg cryptoroot= && try if use subroot then cp $(LD_TRACE_LOADED_OBJECTS=1 /lib/ld*.so /usr/sbin/chroot | sed\ @@ -220,7 +231,7 @@ root=90% got rootfssize [ $(busybox free|busybox awk '/Mem:/{print int(($4*100)/$3)}') -ge $r ] && -mount -t tmpfs -o size=$root tmpfs /mnt && +mnt -t tmpfs -o size=$root tmpfs /mnt && for i in $(ls -ar /) do case "$i" in .*|cdrom) ;; @@ -228,7 +239,7 @@ usr|var|rootfs*) mv /$i /mnt;; *) cp -a /$i /mnt 2>/dev/null && continue fail - umount /mnt + umnt /mnt exit esac done || fail 3mSkipped @@ -257,8 +268,8 @@ r=$r:/mnt/.$fs mkdir -p /mnt/.rw/mnt/.$fs /mnt/.$fs losetup $o /dev/loop$l $i - mount -o ro -t squashfs /dev/loop$((l++)) /mnt/.$fs + mnt -o ro -t squashfs /dev/loop$((l++)) /mnt/.$fs done mod aufs -mount -t aufs -o br=$br${r:-:$c} none /mnt +mnt -t aufs -o br=$br${r:-:$c} none /mnt quit