aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/initrdscripts/files/80-nfsboot.sh
blob: e1588c16a8a0886caa7ce455f69b1f01d00c71bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/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
	sleep 5
    	;;
    esac
    
    ifconfig $device $client_ip
    ping -c 2 $server_ip
    )

    echo "booting from NFS: $nfsroot"
    mount -t nfs $NFS_OPTIONS $nfsroot /mnt
    BOOT_ROOT=/mnt
fi