#!/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_nsswitch.so* 2>/dev/null ) #dracut_install $(ls {/usr,}$LIBDIR/libnfsidmap*.so* 2>/dev/null ) nsslibs=$(for j in $(for i in \ $(egrep -v '^#.*' /etc/nsswitch.conf|cut -f2 -d :\ |fgrep -v NOTFOUND); do \ echo "libnss_${i}.so";\ done|sort -u); do \ echo -n "|$j";\ done) nsslibs=${nsslibs##|} dracut_install $(for i in $(ls {/usr,}$LIBDIR/libnss*.so 2>/dev/null); do echo $i;done | egrep "$nsslibs") 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"