]>
Commit | Line | Data |
---|---|---|
3b403b32 | 1 | #!/bin/sh |
4dda0095 HH |
2 | exec </dev/console >/dev/console 2>&1 |
3 | set -x | |
387bf82e | 4 | export PATH=/sbin:/bin:/usr/sbin:/usr/bin |
9ecbe2e4 DD |
5 | export TERM=linux |
6 | export PS1='nbdtest-server:\w\$ ' | |
7 | stty sane | |
8 | echo "made it to the rootfs!" | |
9 | echo server > /proc/sys/kernel/hostname | |
c9391e8f LR |
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) | |
f7b9356c HH |
16 | [ -n "$li" ] && return 0 |
17 | if [[ $2 ]]; then | |
18 | li=$(ip -o link show dev $2 2>/dev/null) | |
19 | [ -n "$li" ] && return 0 | |
20 | fi | |
21 | sleep 0.1 | |
22 | cnt=$(($cnt+1)) | |
23 | done | |
24 | return 1 | |
25 | } | |
26 | ||
27 | wait_for_if_up() { | |
28 | local cnt=0 | |
29 | local li | |
30 | while [ $cnt -lt 200 ]; do | |
31 | li=$(ip -o link show up dev $1) | |
c9391e8f LR |
32 | [ -n "$li" ] && return 0 |
33 | sleep 0.1 | |
34 | cnt=$(($cnt+1)) | |
35 | done | |
36 | return 1 | |
37 | } | |
38 | ||
f7b9356c HH |
39 | wait_for_route_ok() { |
40 | local cnt=0 | |
41 | while [ $cnt -lt 200 ]; do | |
42 | li=$(ip route show) | |
43 | [ -n "$li" ] && [ -z "${li##*$1*}" ] && return 0 | |
44 | sleep 0.1 | |
45 | cnt=$(($cnt+1)) | |
46 | done | |
47 | return 1 | |
48 | } | |
49 | ||
50 | linkup() { | |
51 | wait_for_if_link $1 2>/dev/null\ | |
52 | && ip link set $1 up 2>/dev/null\ | |
53 | && wait_for_if_up $1 2>/dev/null | |
54 | } | |
55 | ||
56 | wait_for_if_link eth0 ens3 | |
c9391e8f | 57 | |
9ecbe2e4 DD |
58 | ip addr add 127.0.0.1/8 dev lo |
59 | ip link set lo up | |
67b4a9ea HH |
60 | ip link set dev eth0 name ens3 |
61 | ip addr add 192.168.50.1/24 dev ens3 | |
f7b9356c HH |
62 | linkup ens3 |
63 | ||
ec897491 | 64 | modprobe af_packet |
b070c1d3 | 65 | nbd-server |
9ecbe2e4 | 66 | >/var/lib/dhcpd/dhcpd.leases |
45630db1 | 67 | chmod 777 /var/lib/dhcpd/dhcpd.leases |
481ee9e6 HH |
68 | dhcpd -d -cf /etc/dhcpd.conf -lf /var/lib/dhcpd/dhcpd.leases & |
69 | echo "Serving NBD disks" | |
70 | while :; do | |
71 | [ -n "$(jobs -rp)" ] && echo > /dev/watchdog | |
72 | sleep 10 | |
73 | done | |
9ecbe2e4 DD |
74 | mount -n -o remount,ro / |
75 | poweroff -f |