summaryrefslogtreecommitdiff
path: root/package/base-files/src/init
blob: a3232cb9c5f366853b4358ff30fd99c127f35ec9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/sh
echo "System initialization ..."
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
mount -t devtmpfs devtmpfs /dev > /dev/null 2>&1
mount -nt proc proc /proc
mount -o nosuid,nodev,noexec -t sysfs sysfs /sys
[ ! -f /etc/notmpfs ] && {
  size=$(cat /etc/tmpfs 2>/dev/null)
  [ -z $size ] && size=2048
  mount tmpfs /tmp -t tmpfs -o nosuid,nodev,mode=1777,size=${size}k
}
mount -o remount,nosuid,size=128k,mode=0755 -t tmpfs mdev /dev
[ -d /dev/pts ] || mkdir /dev/pts 
[ -d /dev/shm ] || mkdir /dev/shm
mount -o nosuid,noexec -t devpts devpts /dev/pts
exec 0<>/dev/console >&0 2>&0
echo >/dev/mdev.seq
echo "/sbin/mdev" >/proc/sys/kernel/hotplug
mdev -s
cat /etc/.rnd >/dev/urandom 2>&1
[ -x /cryptinit ] && { /cryptinit; exec switch_root /mnt "/init";}
[ -x /sbin/cfgfs ] && { cfgfs setup; mount -o remount,ro /;} || mount -o remount,rw /
[ -f /etc/fstab ] && { fsck -p >/dev/null; mount -a;}
exec /sbin/init