#!/bin/sh NC_SLUGIP="192.168.1.77" NC_TARGIP="192.168.1.100" if ( [ -f "/.nc" ] ) ; then if ( [ -z "$RERUN" ] ) ; then /bin/echo " DEBUG: Starting network console from flash ..." . /.nc /bin/echo "Insmod ixp400" /sbin/insmod ixp400.o /bin/echo "Insmod ixp425" /sbin/insmod ixp425_eth.o /sbin/ifconfig ixp0 $NC_SLUGIP /bin/echo "Insmod netconsole" /sbin/insmod netconsole.o target_ipaddr=$NC_TARGIP /bin/echo "Redirecting output via nc and restarting /linuxrc ..." export RERUN=1 exec /linuxrc 2>&1 | tee /dev/console | /usr/bin/nc $NC_TARGIP 6666 fi fi # **** DO NOT EVEN THINK OF EDITING OR REMOVING THIS FILE **** # **** UNLESS YOU REALLY KNOW *EXACTLY* WHAT YOU ARE DOING. **** # Perform prepatory tasks, and determine whether an alternate rootfs is viable. /bin/mount -t proc proc /proc /bin/echo "1" > /proc/sys/kernel/panic if ( ! [ -f /.nodisk ] ) ; then /bin/echo "Sleeping while waiting for disk..." cnt=20 while [ $cnt -gt 0 ] ; do /bin/echo -ne "\r$cnt " /bin/sleep 1 [ -e /.sda1root -a -f /proc/hdd_sda ] && cnt=0 [ -e /.sdb1root -a -f /proc/hdd_sdb ] && cnt=0 cnt=`expr $cnt - 1` done /bin/echo if [ -e /.fastdisk ] ; then /bin/sleep 5 else /bin/sleep 15 fi mounted= for prefroot in sda1 sdb1 ; do if [ -z "$mounted" -a -e /.${prefroot}root ] ; then if /bin/mount -rt ext3 /dev/$prefroot /mnt ; then if [ -e /mnt/.${prefroot}root -a -x /mnt/bin/init ] ; then /bin/echo "Root filesystem will be mounted from /dev/$prefroot ..." mounted=/mnt else /bin/umount /mnt /bin/echo "Can't find valid rootfs on /dev/$prefroot ..." fi fi fi done if [ -z "$mounted" ] ; then /bin/echo "Can't find valid rootfs, using ramdisk ..." mounted= fi /bin/umount /proc # Pivot to the desired rootfs and run the initial executable. if [ -n "$mounted" ] ; then cd $mounted /bin/echo "Pivoting to external rootfs ..." /sbin/pivot_root . initrd if ( [ -z "$RERUN" ] ) ; then exec /usr/sbin/chroot . /bin/init < /dev/console 1> /dev/console 2> /dev/console else exec /usr/sbin/chroot . /bin/init fi else exec /bin/init fi /bin/echo "Can't pivot to external rootfs, using ramdisk ..." else /bin/echo "Forced boot to internal flash ..." /bin/echo "(One-time only, clearing forced boot flag file.)" /bin/rm -f /.nodisk fi exec /bin/init # Last-resort fall-back - this should never be reached. /bin/sh