]>
Commit | Line | Data |
---|---|---|
4e669086 HH |
1 | #!/bin/sh |
2 | exec </dev/console >/dev/console 2>&1 | |
3 | set -x | |
4 | export PATH=/sbin:/bin:/usr/sbin:/usr/bin | |
5 | export TERM=linux | |
6 | export PS1='nfstest-server:\w\$ ' | |
7 | stty sane | |
8 | echo "made it to the rootfs!" | |
9 | echo server > /proc/sys/kernel/hostname | |
10 | ||
11 | wait_for_if_link() { | |
12 | local cnt=0 | |
13 | local li | |
14 | while [ $cnt -lt 600 ]; do | |
15 | li=$(ip -o link show dev $1 2>/dev/null) | |
16 | [ -n "$li" ] && return 0 | |
17 | sleep 0.1 | |
18 | cnt=$(($cnt+1)) | |
19 | done | |
20 | return 1 | |
21 | } | |
22 | ||
23 | wait_for_if_up() { | |
24 | local cnt=0 | |
25 | local li | |
26 | while [ $cnt -lt 200 ]; do | |
27 | li=$(ip -o link show up dev $1) | |
28 | [ -n "$li" ] && return 0 | |
29 | sleep 0.1 | |
30 | cnt=$(($cnt+1)) | |
31 | done | |
32 | return 1 | |
33 | } | |
34 | ||
35 | wait_for_route_ok() { | |
36 | local cnt=0 | |
37 | while [ $cnt -lt 200 ]; do | |
38 | li=$(ip route show) | |
39 | [ -n "$li" ] && [ -z "${li##*$1*}" ] && return 0 | |
40 | sleep 0.1 | |
41 | cnt=$(($cnt+1)) | |
42 | done | |
43 | return 1 | |
44 | } | |
45 | ||
46 | linkup() { | |
47 | wait_for_if_link $1 2>/dev/null\ | |
48 | && ip link set $1 up 2>/dev/null\ | |
49 | && wait_for_if_up $1 2>/dev/null | |
50 | } | |
51 | ||
94cc856c | 52 | modprobe --all -b -q 8021q ipvlan macvlan |
4e669086 HH |
53 | >/dev/watchdog |
54 | ip addr add 127.0.0.1/8 dev lo | |
55 | linkup lo | |
56 | ip link set dev eth0 name ens3 | |
57 | ip addr add 192.168.50.1/24 dev ens3 | |
58 | linkup ens3 | |
59 | >/dev/watchdog | |
60 | ip link set dev eth1 name ens4 | |
61 | ip link add dev ens4.1 link ens4 type vlan id 1 | |
62 | ip link add dev ens4.2 link ens4 type vlan id 2 | |
63 | ip link add dev ens4.3 link ens4 type vlan id 3 | |
64 | ip link add dev ens4.4 link ens4 type vlan id 4 | |
65 | ip addr add 192.168.54.1/24 dev ens4.1 | |
66 | ip addr add 192.168.55.1/24 dev ens4.2 | |
67 | ip addr add 192.168.56.1/24 dev ens4.3 | |
68 | ip addr add 192.168.57.1/24 dev ens4.4 | |
69 | linkup ens4 | |
6058b06b HH |
70 | ip link set dev ens4.1 up |
71 | ip link set dev ens4.2 up | |
72 | ip link set dev ens4.3 up | |
73 | ip link set dev ens4.4 up | |
4e669086 HH |
74 | ip link set dev eth2 name ens5 |
75 | ip addr add 192.168.51.1/24 dev ens5 | |
76 | linkup ens5 | |
77 | ip link set dev eth3 name ens6 | |
78 | linkup ens6 | |
79 | >/dev/watchdog | |
80 | modprobe af_packet | |
81 | > /dev/watchdog | |
82 | modprobe sunrpc | |
83 | >/dev/watchdog | |
84 | mount -t rpc_pipefs sunrpc /var/lib/nfs/rpc_pipefs | |
85 | >/dev/watchdog | |
86 | [ -x /sbin/portmap ] && portmap | |
87 | >/dev/watchdog | |
f3f37f3c | 88 | mkdir -p /run/rpcbind |
4e669086 HH |
89 | [ -x /sbin/rpcbind ] && rpcbind |
90 | >/dev/watchdog | |
91 | modprobe nfsd | |
92 | >/dev/watchdog | |
93 | mount -t nfsd nfsd /proc/fs/nfsd | |
94 | >/dev/watchdog | |
95 | exportfs -r | |
96 | >/dev/watchdog | |
97 | rpc.nfsd | |
98 | >/dev/watchdog | |
99 | rpc.mountd | |
100 | >/dev/watchdog | |
101 | rpc.idmapd | |
102 | >/dev/watchdog | |
103 | exportfs -r | |
104 | >/dev/watchdog | |
105 | >/var/lib/dhcpd/dhcpd.leases | |
106 | >/dev/watchdog | |
107 | chmod 777 /var/lib/dhcpd/dhcpd.leases | |
108 | >/dev/watchdog | |
109 | dhcpd -cf /etc/dhcpd.conf -lf /var/lib/dhcpd/dhcpd.leases ens3 ens5 | |
110 | #echo -n 'V' > /dev/watchdog | |
111 | #sh -i | |
112 | #tcpdump -i ens3 | |
113 | # Wait forever for the VM to die | |
114 | echo "Serving NFS mounts" | |
115 | while :; do | |
116 | sleep 10 | |
117 | >/dev/watchdog | |
118 | done | |
119 | mount -n -o remount,ro / | |
120 | poweroff -f |