::sysinit:/bin/mount -n -t proc proc /proc ::sysinit:/etc/load_config.sh ::sysinit:/bin/hostname -F /etc/hostname ::sysinit:/etc/create_files.sh ::sysinit:/etc/init.d/rcS ::askfirst:-/bin/sh ::restart:/sbin/init ::ctrlaltdel:/etc/init.d/rcK ::ctrlaltdel:/etc/save_config.sh ::ctrlaltdel:/sbin/reboot ::shutdown:/etc/init.d/rcK ::shutdown:/etc/save_config.sh
1. mount proc
2. load_config.sh
echo " *** Load Config ***>> " /sbin/expand /ramfs.img /dev/ram1 /sbin/expand /ramfs.img /dev/ram0 /bin/mount -n -t ext2 /dev/ram0 /var /bin/rm -r /var/lost+found /bin/mount -n -t ext2 /dev/ram1 /flash /bin/rm -r /flash/lost+found /bin/cp -a /etc/* /flash > /dev/null 2>&1 /bin/umount /flash /bin/mount -n -t ext2 /dev/ram1 /etc /bin/dd if=/dev/mtd3 of=/var/etc.tgz >/dev/null 2>&1 cd /var;/bin/gunzip etc.tgz;tar -xf etc.tar -C / > /dev/null 2>&1 || echo " *** Restore Config failed ***>>" rm /var/etc.tar
3. set hostname from /etc/hostname
4. create_files.sh
#!/bin/sh /bin/mkdir /var/log /bin/mkdir /var/lock /bin/mkdir /var/run /bin/mkdir /var/tmp /bin/mkdir /var/sm /bin/mkdir /var/state /bin/touch /var/sm/sm.bak /bin/touch /var/run/xtab /bin/touch /var/run/etab /bin/touch /var/run/rmtab
5. /etc/init.d/rcS – start scripts in init.d by default:
#!/bin/sh # Start all init scripts in /etc/init.d # executing them in numerical order. # for i in /etc/init.d/S??* ;do # Ignore dangling symlinks (if any). [ ! -f "$i" ] && continue case "$i" in *.sh) # Source shell script for speed. ( trap - INT QUIT TSTP set start . $i ) ;; *) # No sh extension, so fork subprocess. $i start ;; esac done echo " *** Start User Init ***>>" /mnt/user/user_init.sh || echo " *** Can't start user_init.sh! ***>>"