rcS 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #!/bin/sh
  2. export PATH=/bin:/sbin:/usr/bin:/usr/sbin
  3. # disable kernel messages
  4. if [ -f /proc/sys/kernel/printk ];then
  5. echo 0 > /proc/sys/kernel/printk
  6. fi
  7. ln -s /proc/self/fd/2 /dev/stderr
  8. : ${rcquiet=0}
  9. if [ $rcquiet -ne 1 ];then
  10. echo "System initialization ..."
  11. fi
  12. # remount /dev with smaller size
  13. mount -o remount,nosuid,size=128k,mode=0755 -t tmpfs mdev /dev
  14. # start mdev dynamic device node management
  15. echo >/dev/mdev.seq
  16. if [ -f /proc/sys/kernel/hotplug ];then
  17. echo "/sbin/mdev" >/proc/sys/kernel/hotplug
  18. fi
  19. # creates f.e. /dev/root
  20. mdev -s
  21. # seed some random
  22. cat /etc/.rnd >/dev/urandom 2>&1
  23. # setup cfgfs
  24. [ -x /sbin/cfgfs ] && {
  25. cfgfs setup
  26. mount -o remount,ro /
  27. }
  28. # remount /tmp with smaller size
  29. size=$(cat /etc/tmpfs 2>/dev/null)
  30. [ -z $size ] && size=2048
  31. mount -o remount,nosuid,nodev,mode=1777,size=${size}k -t tmpfs tmpfs /tmp
  32. # create some useful directories in tmpfs
  33. mkdir -p /var/log
  34. mkdir -p /var/run
  35. mkdir -p /var/tmp
  36. touch /var/log/lastlog
  37. touch /var/log/wtmp
  38. HOSTNAME=
  39. [[ -s /etc/hostname ]] && HOSTNAME=$(cat /etc/hostname)
  40. HOSTNAME=${HOSTNAME%%.*}
  41. echo ${HOSTNAME:=openadk} >/proc/sys/kernel/hostname
  42. chown 0:0 /tmp; chmod 1777 /tmp
  43. if test x"$rcquiet" = x"0" && sh -n /etc/rc.conf >/dev/null 2>&1; then
  44. . /etc/rc.conf
  45. unset rcquiet
  46. rcquiet=0
  47. else
  48. unset rcquiet
  49. rcquiet=1
  50. fi
  51. {
  52. grep '^#INIT ' /etc/init.d/* | \
  53. sort -nk2 | \
  54. while read line; do
  55. rcenabled=NO
  56. rcname=${line%%:*}
  57. rcname=${rcname##*/}
  58. test x"$rcquiet" = x"0" && eval 'rcenabled=${'"${rcname}"':-NO}'
  59. test x"$rcenabled" = x"NO" || echo -n "Starting ${rcname}... "
  60. sh ${line%%:*} autostart
  61. rc=$?
  62. case $rcenabled:$rc in
  63. (NO:*)
  64. ;;
  65. (*:0)
  66. echo done.
  67. ;;
  68. (*:*)
  69. echo "failed ($rc)."
  70. ;;
  71. esac
  72. done
  73. } |tee /dev/stderr |logger -p 6 -t ''
  74. if [ $rcquiet -ne 1 ];then
  75. ipaddr=$(ip addr show $(ip route show|awk '/default/ { print $5 }')|awk '/inet / { print $2 }'|tail -1)
  76. echo "Your ip adress is $ipaddr"
  77. fi