slitaz-boot-scripts rev 371 5.6.2

init: use busybox mount
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Jun 10 10:33:58 2014 +0200 (2014-06-10)
parents 3e07c0a601fa
children 5a38b2dd68a6
files init
line diff
     1.1 --- a/init	Thu May 15 20:47:38 2014 +0300
     1.2 +++ b/init	Tue Jun 10 10:33:58 2014 +0200
     1.3 @@ -53,11 +53,21 @@
     1.4  echo -e '\033[70G[ \033[1;3'${1:-1mFailed}'\033[0;39m ]'
     1.5  }
     1.6  
     1.7 +mnt()
     1.8 +{
     1.9 +busybox mount $@
    1.10 +}
    1.11 +
    1.12 +umnt()
    1.13 +{
    1.14 +busybox umount $@
    1.15 +}
    1.16 +
    1.17  quit()
    1.18  {
    1.19  [ -d /mnt$4/etc ] || return
    1.20 -[ -n "$4" ] || mount /mnt -o remount,ro
    1.21 -mount --move /run /mnt/${1:-run}
    1.22 +[ -n "$4" ] || mnt /mnt -o remount,ro
    1.23 +mnt --move /run /mnt/${1:-run}
    1.24  cat>/run/init<<EOT
    1.25  $2
    1.26  x=/sbin/switch_root
    1.27 @@ -94,19 +104,20 @@
    1.28  r=${r#/dev/}
    1.29  r=/dev/${r%%/*}
    1.30  d=${root#*$r}
    1.31 -mount $r $1 && return
    1.32 +mnt $r $1 && return
    1.33  w=$(cat /sys/module/usb_storage/parameters/delay_use)
    1.34  w=$((1+${w:-2}))
    1.35  echo -n "Sleep $w seconds..."
    1.36  sleep $w
    1.37 -mount $r $1
    1.38 +mnt $r $1
    1.39  }
    1.40  
    1.41  mod()
    1.42  {
    1.43  for i in $@
    1.44  do	echo "Loading module: $i"
    1.45 -	modprobe $i 2>/dev/null || insmod $(find /lib/modules|sed "/$i.ko/!dq") 
    1.46 +	modprobe $i 2>/dev/null ||
    1.47 +	busybox insmod $(find /lib/modules|sed "/$i.ko/!dq") 
    1.48  done
    1.49  }
    1.50  
    1.51 @@ -124,7 +135,7 @@
    1.52  		echo 0 $(cat $(find /sys/block|grep /$d/size))\
    1.53  		crypt aes-plain $k 0 $root 0|dmsetup create $l
    1.54  	fi
    1.55 -	mount /dev/mapper/$l /mnt
    1.56 +	mnt /dev/mapper/$l /mnt
    1.57  fi
    1.58  got subroot && return
    1.59  got loopfs && return
    1.60 @@ -141,7 +152,7 @@
    1.61  mod dm-mod
    1.62  vgscan --ignorelockingfailure
    1.63  vgchange -ay --ignorelockingfailure
    1.64 -mount /dev/mapper/$root /mnt
    1.65 +mnt /dev/mapper/$root /mnt
    1.66  try /dev/mapper $1
    1.67  }
    1.68  
    1.69 @@ -159,13 +170,13 @@
    1.70  }
    1.71  
    1.72  if [ "$1" != "log" ]
    1.73 -then	mount -t proc proc /proc
    1.74 -	mount -t sysfs sys /sys
    1.75 -	mount -t tmpfs tmpfs /run
    1.76 +then	mnt -t proc proc /proc
    1.77 +	mnt -t sysfs sys /sys
    1.78 +	mnt -t tmpfs tmpfs /run
    1.79  	x=/sbin/init; echo "[ -x $x ] && exec $x" >/run/init
    1.80  	$0 log 2>&1 | tee /run/boot.log
    1.81 -	umount /proc
    1.82 -	umount /sys
    1.83 +	umnt /proc
    1.84 +	umnt /sys
    1.85  	. /run/init
    1.86  	sh
    1.87  fi
    1.88 @@ -201,9 +212,9 @@
    1.89  	mount.posixovl -F /mnt -- -oallow_other -odefault_permissions -osuid
    1.90  fi
    1.91  got loopfs && echo "Into file $root..." &&
    1.92 -	losetup /dev/loop0 /mnt/$root && mount /dev/loop0 /mnt
    1.93 +	losetup /dev/loop0 /mnt/$root && mnt /dev/loop0 /mnt
    1.94  got bindfs && echo "Bind ${root/,/ to }..." &&
    1.95 -	mount --bind /mnt/${root%,*} /mnt/${root/,//}
    1.96 +	mnt --bind /mnt/${root%,*} /mnt/${root/,//}
    1.97  arg cryptoroot= && try
    1.98  if use subroot
    1.99  then	cp $(LD_TRACE_LOADED_OBJECTS=1 /lib/ld*.so /usr/sbin/chroot | sed\
   1.100 @@ -220,7 +231,7 @@
   1.101  root=90%
   1.102  got rootfssize
   1.103  [ $(busybox free|busybox awk '/Mem:/{print int(($4*100)/$3)}') -ge $r ] &&
   1.104 -mount -t tmpfs -o size=$root tmpfs /mnt &&
   1.105 +mnt -t tmpfs -o size=$root tmpfs /mnt &&
   1.106  for i in $(ls -ar /)
   1.107  do	case "$i" in
   1.108  	.*|cdrom)	;;
   1.109 @@ -228,7 +239,7 @@
   1.110  	usr|var|rootfs*) mv /$i /mnt;;
   1.111  	*)	cp -a /$i /mnt 2>/dev/null && continue
   1.112  		fail
   1.113 -		umount /mnt
   1.114 +		umnt /mnt
   1.115  		exit
   1.116  	esac
   1.117  done || fail 3mSkipped
   1.118 @@ -257,8 +268,8 @@
   1.119  	r=$r:/mnt/.$fs
   1.120  	mkdir -p /mnt/.rw/mnt/.$fs /mnt/.$fs
   1.121  	losetup $o /dev/loop$l $i
   1.122 -	mount -o ro -t squashfs /dev/loop$((l++)) /mnt/.$fs
   1.123 +	mnt -o ro -t squashfs /dev/loop$((l++)) /mnt/.$fs
   1.124  done
   1.125  mod aufs
   1.126 -mount -t aufs -o br=$br${r:-:$c} none /mnt
   1.127 +mnt -t aufs -o br=$br${r:-:$c} none /mnt
   1.128  quit