68 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/usr/bin/ash
 | |
| 
 | |
| run_hook ()
 | |
| {
 | |
|   local line i address netmask gateway dns0 dns1 rootserver rootpath defaultrootpath defaultserver
 | |
| 
 | |
|   : > /ip_opts
 | |
| 
 | |
|   if [ -z "${ip}" -a -n "${nfsaddrs}" ]; then
 | |
|     ip="${nfsaddrs}"
 | |
|   fi
 | |
| 
 | |
|   if [ -n "${ip}" ]; then
 | |
|     # setup network and save some values
 | |
|     ipconfig "ip=${ip}" | while read line; do
 | |
|       if [ "${line#"IP-Config:"}" != "${line}" ]; then
 | |
|         continue
 | |
|       fi
 | |
| 
 | |
|       line="$(echo ${line} | sed -e 's/ :/:/g;s/: /=/g')"
 | |
| 
 | |
|       for i in ${line}; do
 | |
|         case "${i}" in
 | |
|           address=*)
 | |
|             echo "${i}" >> /ip_opts
 | |
|           ;;
 | |
|           netmask=*)
 | |
|             echo "${i}" >> /ip_opts
 | |
|           ;;
 | |
|           gateway=*)
 | |
|             echo "${i}" >> /ip_opts
 | |
|           ;;
 | |
|           dns0=*)
 | |
|             echo "${i}" >> /ip_opts
 | |
|           ;;
 | |
|           dns1=*)
 | |
|             echo "${i}" >> /ip_opts
 | |
|           ;;
 | |
|           rootserver=*)
 | |
|             echo "${i}" >> /ip_opts
 | |
|           ;;
 | |
|           rootpath=*)
 | |
|             echo "${i}" >> /ip_opts
 | |
|           ;;
 | |
|         esac
 | |
|       done
 | |
|     done
 | |
| 
 | |
|     echo "device=$(echo ${ip} | cut -d: -f6)" >> /ip_opts
 | |
|   fi
 | |
| 
 | |
|   . /ip_opts
 | |
| 
 | |
|   echo "IP-Config: ${address}/${netmask}"
 | |
|   echo "IP-Config: gw: ${gateway}    dns0: ${dns0}    dns1: ${dns1}"
 | |
| 
 | |
|   [ -d /dev/pts ] || mkdir -p /dev/pts
 | |
|   mount -t devpts devpts /dev/pts
 | |
| 
 | |
|   echo "Starting dropbear"
 | |
|   /usr/sbin/dropbear -E
 | |
| }
 | |
| 
 | |
| run_cleanuphook ()
 | |
| {
 | |
|   pkill -9 dropbear
 | |
| }
 |