Return to rc.init CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / elwix / config / etc / default |
1.1 misho 1: #!/bin/sh 2: # 3: # Boot startup script for elwix :) 4: # 1.7 ! misho 5: # $Id: rc.init,v 1.6.2.7 2020/06/11 00:56:31 misho Exp $ 1.1 misho 6: 7: stty status '^T' 8: 9: trap : 2 10: trap : 3 11: trap : 18 12: 13: HOME=/root 14: PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/pkg/bin:/usr/pkg/sbin:/usr/local/bin:/usr/local/sbin 15: TERM=xterm 16: BLOCKSIZE=1k 17: EDITOR=vi 18: PAGER=less 19: export HOME PATH TERM BLOCKSIZE EDITOR PAGER 20: 1.7 ! misho 21: CFDIR="/elwix/cf" 1.3 misho 22: SYSPKGDIR="/var/frm" 1.1 misho 23: BOOTLOG="/var/run/elwix.boot" 24: 1.2 misho 25: MGMT_VLAN="4093" 26: MGMT_NAME="mgmt" 27: MGMT_ADDR="10.254.254.254/30" 28: 1.1 misho 29: umask 022 30: 31: boot() 32: { 1.6 misho 33: echo "Loading ELWIX configz ..." 1.7 ! misho 34: 1.1 misho 35: cd /elwix/altroot 36: pax -rw -pe var / 37: chmod 1777 /var/tmp 1.7 ! misho 38: mount -ttmpfs tmpfs /var/db/pkg 1.1 misho 39: cd / 40: } 41: 1.5 misho 42: restore_uboot() 43: { 1.6 misho 44: echo "Restore configz from NAND ..." 1.5 misho 45: /etc/rc.cfg load /etc 46: } 47: 1.1 misho 48: options() 49: { 50: echo "Set firmware options ..." | tee -a $BOOTLOG 51: [ -x /etc/sysctl.conf ] && /etc/sysctl.conf | tee -a $BOOTLOG 52: } 53: 54: passwd() 55: { 56: echo "Syncing password database ..." | tee -a $BOOTLOG 57: pwd_mkdb /etc/master.passwd | tee -a $BOOTLOG 1>/dev/null 2>&1 58: rm -f /etc/nologin 59: } 60: 61: local() 62: { 63: echo "Configurate localhost ..." | tee -a $BOOTLOG 1.7 ! misho 64: ifconfig lo0 inet 127.0.0.1 netmask 255.0.0.0 | tee -a $BOOTLOG 1>/dev/null 2>&1 1.1 misho 65: hostname `cat /etc/myname` 66: } 67: 68: geteth() 69: { 70: ifconfig -a -u | awk ' 71: (match($0, "[:alpha:]*\: ") && match($2, "flags=")) { eth = substr($1, 1, index($1, ":") - 1); next; }; 72: (match($0, "media:\ Ethernet")) { printf("%s\n", eth); }; 73: ' | head -1 74: } 75: 76: mgmt() 77: { 78: [ -r /etc/mylan ] && VDEV=`cat /etc/mylan` 1.2 misho 79: if [ -x /usr/bin/get1steth ]; then 80: VDEV=${VDEV:-`get1steth -g`} 81: 82: get1steth -v $VDEV | tee -a $BOOTLOG 1>/dev/null 2>&1 83: else 84: VDEV=${VDEV:-`geteth`} 1.4 misho 85: ifconfig $VDEV up 1.2 misho 86: ifconfig vlan$MGMT_VLAN create vlan $MGMT_VLAN vlandev $VDEV 87: ifconfig vlan$MGMT_VLAN name $MGMT_NAME 88: ifconfig $MGMT_NAME inet $MGMT_ADDR 89: fi 1.1 misho 90: 91: echo "Configurete management interface to ($VDEV) ..." | tee -a $BOOTLOG 92: } 93: 94: syspkg() 95: { 96: echo "Setup elwix dynamic link libraries ..." 97: ldconfig /etc/ld.so.conf 98: 99: echo "Mounting firmware system packages:" | tee -a $BOOTLOG 100: # Raw images 1.7 ! misho 101: for i in ${CFDIR}/*-pkg.frm; do 1.1 misho 102: if [ -r $i ]; then 103: MDDEV=$(mdconfig -a -t vnode -f $i); 104: install -d $SYSPKGDIR/$MDDEV; 105: mount -r /dev/$MDDEV $SYSPKGDIR/$MDDEV | tee -a $BOOTLOG 1>/dev/null 2>&1; 106: if [ $? -ne 0 ]; then 107: mdconfig -d -u $MDDEV; 108: echo "Failed mount system package $i ... Corrupted!" | tee -a $BOOTLOG; 109: continue 110: else 111: echo "Added firmware system package ... $i($?)" | tee -a $BOOTLOG; 112: PATH=$PATH:$SYSPKGDIR/$MDDEV/bin:$SYSPKGDIR/$MDDEV/sbin 113: export PATH 114: 115: [ -d $SYSPKGDIR/$MDDEV/lib ] && ldconfig -v -m $SYSPKGDIR/$MDDEV/lib | \ 116: tee -a $BOOTLOG 1>/dev/null 2>&1; 117: 118: [ -x $SYSPKGDIR/$MDDEV/.pkg2sys ] && $SYSPKGDIR/$MDDEV/.pkg2sys; 119: fi 120: fi 121: done 122: # UZIP images 1.7 ! misho 123: for i in ${CFDIR}/*-pkg.frz; do 1.1 misho 124: if [ -r $i ]; then 125: MDDEV=$(mdconfig -a -t vnode -f $i); 126: install -d $SYSPKGDIR/$MDDEV; 127: mount -r /dev/$MDDEV.uzip $SYSPKGDIR/$MDDEV | tee -a $BOOTLOG 1>/dev/null 2>&1; 128: if [ $? -ne 0 ]; then 129: mdconfig -d -u $MDDEV; 130: echo "Failed mount system package $i ... Corrupted!" | tee -a $BOOTLOG; 131: continue 132: else 133: echo "Added firmware system package ... $i($?)" | tee -a $BOOTLOG; 134: PATH=$PATH:$SYSPKGDIR/$MDDEV/bin:$SYSPKGDIR/$MDDEV/sbin 135: export PATH 136: 137: [ -d $SYSPKGDIR/$MDDEV/lib ] && ldconfig -v -m $SYSPKGDIR/$MDDEV/lib | \ 138: tee -a $BOOTLOG 1>/dev/null 2>&1; 139: 140: [ -x $SYSPKGDIR/$MDDEV/.pkg2sys ] && $SYSPKGDIR/$MDDEV/.pkg2sys; 141: fi 142: fi 143: done 144: } 145: 146: service() 147: { 148: echo "Starting distribution static services:" | tee -a $BOOTLOG 149: for i in /etc/rc.d/*.run; do 1.7 ! misho 150: if [ -x "$i" ]; then 1.1 misho 151: $i 152: fi 153: done 154: 155: if [ -d /etc/rc.S ]; then 156: echo "Select boot service directory ..." `readlink /etc/rc.S` | tee -a $BOOTLOG 157: 158: echo "Starting distribution services:" | tee -a $BOOTLOG 159: for i in /etc/rc.S/*.run; do 1.7 ! misho 160: if [ -x "$i" ]; then 1.1 misho 161: $i 162: fi 163: done 164: fi 165: } 166: 167: # 168: ## main() 169: # 170: 171: boot 1.5 misho 172: restore_uboot 1.1 misho 173: echo "elwix>>> Start system boot stage at `date`" | tee $BOOTLOG 174: options 175: passwd 176: local 177: mgmt 178: syspkg 179: service 180: echo "elwix>>> Start local services:" | tee -a $BOOTLOG 181: [ -r /etc/rc.local ] && . /etc/rc.local 182: echo "elwix>>> Done." | tee -a $BOOTLOG