#!/bin/sh
which portmap >/dev/null 2>&1 && dracut_install portmap
which rpcbind >/dev/null 2>&1 && dracut_install rpcbind

dracut_install rpc.statd mount.nfs mount.nfs4 umount 
[ -f /etc/netconfig ] && dracut_install /etc/netconfig 
dracut_install /etc/services 
dracut_install /etc/nsswitch.conf /etc/rpc /etc/protocols
dracut_install rpc.idmapd /etc/idmapd.conf
if ldd $(which rpc.idmapd) |grep -q lib64; then
    LIBDIR="/lib64"
else
    LIBDIR="/lib"
fi

dracut_install $(ls {/usr,}$LIBDIR/libnfsidmap*.so* 2>/dev/null )
dracut_install $(ls {/usr,}$LIBDIR/libnss*.so 2>/dev/null)

instmods nfs sunrpc ipv6
inst_hook cmdline 90 "$moddir/parse-nfsroot.sh"
inst_hook pre-pivot 70 "$moddir/nfsroot-cleanup.sh"
inst "$moddir/nfsroot" "/sbin/nfsroot"
mkdir -p "$initdir/var/lib/nfs/rpc_pipefs"
mkdir -p "$initdir/var/lib/rpcbind"
mkdir -p "$initdir/var/lib/nfs/statd/sm"

# Rather than copy the passwd file in, just set a user for rpcbind
# We'll save the state and restart the daemon from the root anyway
egrep '^rpc:' /etc/passwd >> "$initdir/etc/passwd"
egrep '^rpcuser:' /etc/passwd >> "$initdir/etc/passwd"
#which nologin >/dev/null 2>&1 && dracut_install nologin

# rpc user needs to be able to write to this directory to save the warmstart
# file
chmod 777 "$initdir/var/lib/rpcbind"
