diff options
Diffstat (limited to 'test/TEST-20-NFS/client-init.sh')
-rwxr-xr-x | test/TEST-20-NFS/client-init.sh | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/test/TEST-20-NFS/client-init.sh b/test/TEST-20-NFS/client-init.sh new file mode 100755 index 0000000..061a2b1 --- /dev/null +++ b/test/TEST-20-NFS/client-init.sh @@ -0,0 +1,49 @@ +#!/bin/sh +: > /dev/watchdog +. /lib/dracut-lib.sh +. /lib/url-lib.sh + +export PATH=/usr/sbin:/usr/bin:/sbin:/bin +command -v plymouth > /dev/null 2>&1 && plymouth --quit +exec > /dev/console 2>&1 + +export TERM=linux +export PS1='initramfs-test:\w\$ ' +stty sane +if getargbool 0 rd.shell; then + [ -c /dev/watchdog ] && printf 'V' > /dev/watchdog + strstr "$(setsid --help)" "control" && CTTY="-c" + setsid $CTTY sh -i +fi + +echo "made it to the rootfs! Powering down." + +while read -r dev _ fstype opts rest || [ -n "$dev" ]; do + [ "$fstype" != "nfs" -a "$fstype" != "nfs4" ] && continue + echo "nfs-OK $dev $fstype $opts" | dd oflag=direct,dsync of=/dev/disk/by-id/ata-disk_marker + break +done < /proc/mounts + +if [ "$fstype" = "nfs" -o "$fstype" = "nfs4" ]; then + + serverip=${dev%:*} + path=${dev#*:} + echo serverip="${serverip}" + echo path="${path}" + echo /proc/mounts status + cat /proc/mounts + + echo test:nfs_fetch_url nfs::"${serverip}":"${path}"/root/fetchfile + if nfs_fetch_url nfs::"${serverip}":"${path}"/root/fetchfile /run/nfsfetch.out; then + echo nfsfetch-OK + echo "nfsfetch-OK" | dd oflag=direct,dsync of=/dev/disk/by-id/ata-disk_marker2 + fi +else + echo nfsfetch-BYPASS fstype="${fstype}" + echo "nfsfetch-OK" | dd oflag=direct,dsync of=/dev/disk/by-id/ata-disk_marker2 +fi + +: > /dev/watchdog + +sync +poweroff -f |