]> git.ipfire.org Git - thirdparty/dracut.git/blobdiff - test/TEST-20-NFS/server-init.sh
fix(test): use bash for jobs -r parameter
[thirdparty/dracut.git] / test / TEST-20-NFS / server-init.sh
index 93555cdacfd45290ad6ae4314376f12fc852d145..0c06eea11d05f8855c19f8977b9a645d83443dba 100755 (executable)
@@ -1,10 +1,10 @@
-#!/bin/sh
+#!/bin/bash
 exec < /dev/console > /dev/console 2>&1
 set -x
-export PATH=/sbin:/bin:/usr/sbin:/usr/bin
+export PATH=/usr/sbin:/usr/bin:/sbin:/bin
 export TERM=linux
 export PS1='nfstest-server:\w\$ '
-echo > /dev/watchdog
+: > /dev/watchdog
 stty sane
 echo "made it to the rootfs!"
 echo server > /proc/sys/kernel/hostname
@@ -13,12 +13,8 @@ wait_for_if_link() {
     local cnt=0
     local li
     while [ $cnt -lt 600 ]; do
-        li=$(ip -o link show dev $1 2> /dev/null)
+        li=$(ip -o link show dev "$1" 2> /dev/null)
         [ -n "$li" ] && return 0
-        if [[ $2 ]]; then
-            li=$(ip -o link show dev $2 2> /dev/null)
-            [ -n "$li" ] && return 0
-        fi
         sleep 0.1
         cnt=$((cnt + 1))
     done
@@ -29,7 +25,7 @@ wait_for_if_up() {
     local cnt=0
     local li
     while [ $cnt -lt 200 ]; do
-        li=$(ip -o link show up dev $1)
+        li=$(ip -o link show up dev "$1")
         [ -n "$li" ] && return 0
         sleep 0.1
         cnt=$((cnt + 1))
@@ -41,7 +37,7 @@ wait_for_route_ok() {
     local cnt=0
     while [ $cnt -lt 200 ]; do
         li=$(ip route show)
-        [ -n "$li" ] && [ -z "${li##*$1*}" ] && return 0
+        [ -n "$li" ] && [ -z "${li##*"$1"*}" ] && return 0
         sleep 0.1
         cnt=$((cnt + 1))
     done
@@ -49,61 +45,64 @@ wait_for_route_ok() {
 }
 
 linkup() {
-    wait_for_if_link $1 2> /dev/null && ip link set $1 up 2> /dev/null && wait_for_if_up $1 2> /dev/null
+    wait_for_if_link "$1" 2> /dev/null && ip link set "$1" up 2> /dev/null && wait_for_if_up "$1" 2> /dev/null
 }
 
-wait_for_if_link eth0 ens2
+wait_for_if_link enx525400123456
 
 ip addr add 127.0.0.1/8 dev lo
 ip link set lo up
-ip link set dev eth0 name ens2
-ip addr add 192.168.50.1/24 dev ens2
-ip addr add 192.168.50.2/24 dev ens2
-ip addr add 192.168.50.3/24 dev ens2
-linkup ens2
+ip addr add 192.168.50.1/24 dev enx525400123456
+ip addr add 192.168.50.2/24 dev enx525400123456
+ip addr add 192.168.50.3/24 dev enx525400123456
+linkup enx525400123456
 
-echo > /dev/watchdog
+: > /dev/watchdog
 modprobe af_packet
-echo > /dev/watchdog
+: > /dev/watchdog
+mkdir /nfs/nfs3-5
 mount --bind /nfs/client /nfs/nfs3-5
-echo > /dev/watchdog
+: > /dev/watchdog
+mkdir -p /nfs/ip/192.168.50.101
 mount --bind /nfs/client /nfs/ip/192.168.50.101
-echo > /dev/watchdog
+: > /dev/watchdog
+mkdir -p /nfs/tftpboot/nfs4-5
 mount --bind /nfs/client /nfs/tftpboot/nfs4-5
-echo > /dev/watchdog
+: > /dev/watchdog
 modprobe sunrpc
-echo > /dev/watchdog
+: > /dev/watchdog
 mount -t rpc_pipefs sunrpc /var/lib/nfs/rpc_pipefs
-echo > /dev/watchdog
+: > /dev/watchdog
 [ -x /sbin/portmap ] && portmap
-echo > /dev/watchdog
+: > /dev/watchdog
 mkdir -p /run/rpcbind
 [ -x /sbin/rpcbind ] && rpcbind
-echo > /dev/watchdog
+: > /dev/watchdog
 modprobe nfsd
-echo > /dev/watchdog
+: > /dev/watchdog
 mount -t nfsd nfsd /proc/fs/nfsd
-echo > /dev/watchdog
+: > /dev/watchdog
 exportfs -r
-echo > /dev/watchdog
+: > /dev/watchdog
 rpc.nfsd
-echo > /dev/watchdog
+: > /dev/watchdog
 rpc.mountd
-echo > /dev/watchdog
-rpc.idmapd
-echo > /dev/watchdog
+: > /dev/watchdog
+command -v rpc.idmapd > /dev/null && [ -z "$(pidof rpc.idmapd)" ] && rpc.idmapd
+: > /dev/watchdog
 exportfs -r
-echo > /dev/watchdog
+: > /dev/watchdog
 mkdir -p /var/lib/dhcpd
-> /var/lib/dhcpd/dhcpd.leases
-echo > /dev/watchdog
+> /var/lib/dhcpd/dhcpd.leases
+: > /dev/watchdog
 chmod 777 /var/lib/dhcpd/dhcpd.leases
-echo > /dev/watchdog
+: > /dev/watchdog
 rm -f /var/run/dhcpd.pid
 dhcpd -d -cf /etc/dhcpd.conf -lf /var/lib/dhcpd/dhcpd.leases &
+exportfs -s
 echo "Serving NFS mounts"
 while :; do
-    [ -n "$(jobs -rp)" ] && echo > /dev/watchdog
+    [ -n "$(jobs -rp)" ] && : > /dev/watchdog
     sleep 10
 done
 mount -n -o remount,ro /