#!/bin/sh # If we're not booting from flash, exit. i=`grep "/dev/root / jffs2" /proc/mounts` if ( [ -z "$i" ] ) ; then return 0 ; fi # Establish our identity linksys_hostname=`grep "^default_server_name=" /etc/CGI_ds.conf | sed s/default_server_name=//` real_hostname=`hostname` echo "====> linksys_hostname is $linksys_hostname" echo "====> real_hostname is $real_hostname" # but don't duplicate if ( [ "$linksys_hostname" = `hostname` ] ) ; then linksys_hostname= ; fi if ( [ "$real_hostname" = "unslung" ] ) ; then real_hostname= ; fi # Search all FAT/NTFS filesystem in order. # (heavily borrowed from the rc.start-optware script). for i in /share/*/data/HDD_* ; do if ( [ "$i" = '/share/*/data/HDD_*' ] ) ; then break ; fi echo "====> searching $i..." for j in $linksys_hostname $real_hostname "unslung" ; do echo "====> checking $i/bootdisk/$j ..." if ( [ -d "$i"/bootdisk/"$j" ] ) ; then for k in "$i"/bootdisk/"$j"/S??* ; do echo "====> found $k ..." [ ! -f "$k" ] && continue nocopy=`grep "^#unslung-nocopy" "$k"` if ( [ -z "$nocopy" ] ) ; then echo "====> running copy: /tmp/tmpscript $k $i" dos2unix -u <"$k" >/tmp/tmpscript /bin/sh /tmp/tmpscript "$k" "$i" rm -f /tmp/tmpscript else echo "====> running in-place $k $k $i" /bin/sh "$k" "$k" "$i" fi done fi done done