summaryrefslogtreecommitdiff
path: root/packages/initrdscripts/files/80-nfsboot.sh
diff options
context:
space:
mode:
authorPaul Sokolovsky <pmiscml@gmail.com>2007-11-22 17:20:55 +0000
committerPaul Sokolovsky <pmiscml@gmail.com>2007-11-22 17:20:55 +0000
commitfaa9fb3f06813ac8cdcd14da28ae9463fe0ad68a (patch)
treeef3ad127ccce5d6fb118957aadf85bebc99b63b5 /packages/initrdscripts/files/80-nfsboot.sh
parentf52ae4fc6ebe1ff77bf1749f71da604650b374bb (diff)
parent3138b2bd514e09b328be2922c7ef429566a89d1d (diff)
merge of 'da208288712062005c17d9f4b6bea22ac67c9152'
and 'fbf68cc9245c99890a7243d02341cbd6840ac6b9'
Diffstat (limited to 'packages/initrdscripts/files/80-nfsboot.sh')
-rw-r--r--packages/initrdscripts/files/80-nfsboot.sh43
1 files changed, 43 insertions, 0 deletions
diff --git a/packages/initrdscripts/files/80-nfsboot.sh b/packages/initrdscripts/files/80-nfsboot.sh
new file mode 100644
index 0000000000..5129a53ebb
--- /dev/null
+++ b/packages/initrdscripts/files/80-nfsboot.sh
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+if [ "$ROOT_DEVICE" = "/dev/nfs" ]; then
+
+ # These correspond to what kernel itself uses
+ # DO NOT CHANGE!
+ NFS_OPTIONS="-o nfsvers=2,nolock"
+
+ for arg in $CMDLINE; do
+ echo $arg
+ optarg=`expr "x$arg" : 'x[^=]*=\(.*\)'`
+ echo $optarg
+ case $arg in
+ nfsroot=*)
+ nfsroot=$optarg ;;
+ ip=*)
+ ip=$optarg ;;
+ esac
+ done
+
+ echo $ip | (IFS=: read client_ip server_ip gw_ip netmask hostname device autoconf; \
+ echo client_ip=$client_ip;
+ echo server_ip=$server_ip;
+ echo gw_ip=$gw_ip;
+ echo netmask=$netmask;
+ echo hostname=$hostname;
+ echo device=$device;
+ echo autoconf=$autoconf;
+
+ case "$device" in
+ usb*)
+ echo "USB"
+ modprobe g_ether
+ ;;
+ esac
+
+ ifconfig $device $client_ip
+ )
+
+ echo "booting from NFS: $nfsroot"
+ mount -t nfs $NFS_OPTIONS $nfsroot /mnt
+ BOOT_ROOT=/mnt
+fi