]> git.ipfire.org Git - thirdparty/dracut.git/blame - test/TEST-40-NBD/server-init.sh
test: fix server init scripts for network
[thirdparty/dracut.git] / test / TEST-40-NBD / server-init.sh
CommitLineData
3b403b32 1#!/bin/sh
4dda0095
HH
2exec </dev/console >/dev/console 2>&1
3set -x
387bf82e 4export PATH=/sbin:/bin:/usr/sbin:/usr/bin
9ecbe2e4
DD
5export TERM=linux
6export PS1='nbdtest-server:\w\$ '
7stty sane
8echo "made it to the rootfs!"
9echo server > /proc/sys/kernel/hostname
c9391e8f
LR
10
11wait_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
27wait_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
39wait_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
50linkup() {
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
56wait_for_if_link eth0 ens3
c9391e8f 57
9ecbe2e4
DD
58ip addr add 127.0.0.1/8 dev lo
59ip link set lo up
67b4a9ea
HH
60ip link set dev eth0 name ens3
61ip addr add 192.168.50.1/24 dev ens3
f7b9356c
HH
62linkup ens3
63
ec897491 64modprobe af_packet
b070c1d3 65nbd-server
9ecbe2e4 66>/var/lib/dhcpd/dhcpd.leases
45630db1 67chmod 777 /var/lib/dhcpd/dhcpd.leases
481ee9e6
HH
68dhcpd -d -cf /etc/dhcpd.conf -lf /var/lib/dhcpd/dhcpd.leases &
69echo "Serving NBD disks"
70while :; do
71 [ -n "$(jobs -rp)" ] && echo > /dev/watchdog
72 sleep 10
73done
9ecbe2e4
DD
74mount -n -o remount,ro /
75poweroff -f