Diff for /elwix/config/etc/uboot/rc.init between versions 1.1 and 1.2

version 1.1, 2014/01/21 09:19:06 version 1.2, 2014/09/15 19:06:47
Line 0 Line 1
   #!/bin/sh
   #
   # Boot startup script for elwix :)
   #
   # $Id$
   
   stty status '^T'
   
   trap : 2
   trap : 3
   trap : 18
   
   HOME=/root
   PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/pkg/bin:/usr/pkg/sbin:/usr/local/bin:/usr/local/sbin
   TERM=xterm
   BLOCKSIZE=1k
   EDITOR=vi
   PAGER=less
   export HOME PATH TERM BLOCKSIZE EDITOR PAGER
   
   SYSPKGDIR="/var/frm"
   BOOTLOG="/var/run/elwix.boot"
   
   MGMT_VLAN="4093"
   MGMT_NAME="mgmt"
   MGMT_ADDR="10.254.254.254/30"
   
   umask 022
   
   boot()
   {
           echo "Check and mount filesystems ..."
           fsck -y 1>/dev/null 2>&1 && mount -a || fsck -f -y
   
           echo "Loading elwix firmware variables ..."
           cd /elwix/altroot
           pax -rw -pe var /
           chmod 1777 /var/tmp
           mount /elwix/etc
           cd /
   }
   
   restore_uboot()
   {
           echo "Load configz from NAND ..."
           /etc/rc.cfg load /etc
   }
   
   options()
   {
           echo "Set firmware options ..." | tee -a $BOOTLOG
           [ -x /etc/sysctl.conf ] && /etc/sysctl.conf | tee -a $BOOTLOG
   }
   
   passwd()
   {
           echo "Syncing password database ..." | tee -a $BOOTLOG
   #       pwd_mkdb /etc/master.passwd | tee -a $BOOTLOG 1>/dev/null 2>&1
           rm -f /etc/nologin
   }
   
   local()
   {
           echo "Configurate localhost ..." | tee -a $BOOTLOG
           ifconfig lo0 127.0.0.1 | tee -a $BOOTLOG 1>/dev/null 2>&1
           hostname `cat /etc/myname`
   }
   
   geteth()
   {
           ifconfig -a -u | awk '
                   (match($0, "[:alpha:]*\: ") && match($2, "flags=")) { eth = substr($1, 1, index($1, ":") - 1); next; }; 
                   (match($0, "media:\ Ethernet")) { printf("%s\n", eth); };
           ' | head -1
   }
   
   mgmt()
   {
           [ -r /etc/mylan ] && VDEV=`cat /etc/mylan`
           if [ -x /usr/local/bin/get1steth ]; then
                   VDEV=${VDEV:-`get1steth -g`}
   
                   get1steth -v $VDEV | tee -a $BOOTLOG 1>/dev/null 2>&1
           else
                   VDEV=${VDEV:-`geteth`}
                   ifconfig $VDEV up
                   ifconfig vlan$MGMT_VLAN create vlan $MGMT_VLAN vlandev $VDEV
                   ifconfig vlan$MGMT_VLAN name $MGMT_NAME
                   ifconfig $MGMT_NAME inet $MGMT_ADDR
           fi
   
           echo "Configurete management interface to ($VDEV) ..." | tee -a $BOOTLOG
   }
   
   syspkg()
   {
           echo "Setup elwix dynamic link libraries ..."
           ldconfig /etc/ld.so.conf
   
           echo "Mounting firmware system packages:" | tee -a $BOOTLOG
   # Raw images
           for i in /elwix/cf/*-pkg.frm; do
                   if [ -r $i ]; then
                           MDDEV=$(mdconfig -a -t vnode -f $i);
                           install -d $SYSPKGDIR/$MDDEV;
                           mount -r /dev/$MDDEV $SYSPKGDIR/$MDDEV | tee -a $BOOTLOG 1>/dev/null 2>&1;
                           if [ $? -ne 0 ]; then
                                   mdconfig -d -u $MDDEV;
                                   echo "Failed mount system package $i ... Corrupted!" | tee -a $BOOTLOG;
                                   continue
                           else
                                   echo "Added firmware system package ... $i($?)" | tee -a $BOOTLOG;
                                   PATH=$PATH:$SYSPKGDIR/$MDDEV/bin:$SYSPKGDIR/$MDDEV/sbin
                                   export PATH
   
                                   [ -d $SYSPKGDIR/$MDDEV/lib ] && ldconfig -v -m $SYSPKGDIR/$MDDEV/lib | \
                                                                           tee -a $BOOTLOG 1>/dev/null 2>&1;
   
                                   [ -x $SYSPKGDIR/$MDDEV/.pkg2sys ] && $SYSPKGDIR/$MDDEV/.pkg2sys;
                           fi
                   fi
           done
   # UZIP images
           for i in /elwix/cf/*-pkg.frz; do
                   if [ -r $i ]; then
                           MDDEV=$(mdconfig -a -t vnode -f $i);
                           install -d $SYSPKGDIR/$MDDEV;
                           mount -r /dev/$MDDEV.uzip $SYSPKGDIR/$MDDEV | tee -a $BOOTLOG 1>/dev/null 2>&1;
                           if [ $? -ne 0 ]; then
                                   mdconfig -d -u $MDDEV;
                                   echo "Failed mount system package $i ... Corrupted!" | tee -a $BOOTLOG;
                                   continue
                           else
                                   echo "Added firmware system package ... $i($?)" | tee -a $BOOTLOG;
                                   PATH=$PATH:$SYSPKGDIR/$MDDEV/bin:$SYSPKGDIR/$MDDEV/sbin
                                   export PATH
   
                                   [ -d $SYSPKGDIR/$MDDEV/lib ] && ldconfig -v -m $SYSPKGDIR/$MDDEV/lib | \
                                                                           tee -a $BOOTLOG 1>/dev/null 2>&1;
   
                                   [ -x $SYSPKGDIR/$MDDEV/.pkg2sys ] && $SYSPKGDIR/$MDDEV/.pkg2sys;
                           fi
                   fi
           done
   }
   
   service()
   {
           echo "Starting distribution static services:" | tee -a $BOOTLOG
           for i in /etc/rc.d/*.run; do
                   if [ -x $i ]; then
                           $i
                   fi
           done
   
           if [ -d /etc/rc.S ]; then
                   echo "Select boot service directory ..." `readlink /etc/rc.S` | tee -a $BOOTLOG
   
                   echo "Starting distribution services:" | tee -a $BOOTLOG
                   for i in /etc/rc.S/*.run; do
                           if [ -x $i ]; then
                                   $i
                           fi
                   done
           fi
   }
   
   #
   ## main()
   #
   
   boot
   restore_uboot
   echo "elwix>>> Start system boot stage at `date`" | tee $BOOTLOG
   options
   passwd
   local
   mgmt
   syspkg
   service
   echo "elwix>>> Start local services:" | tee -a $BOOTLOG
   [ -r /etc/rc.local ] && . /etc/rc.local
   echo "elwix>>> Done." | tee -a $BOOTLOG

Removed from v.1.1  
changed lines
  Added in v.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>