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-udev 99 "$moddir/nfs-start-rpc.sh"
inst_hook pre-pivot 99 "$moddir/nfsroot-cleanup.sh"
inst "$moddir/nfsroot" "/sbin/nfsroot"
mkdir -m 0755 -p "$initdir/var/lib/nfs/rpc_pipefs"
--- /dev/null
+#!/bin/sh
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+# Start rpcbind or rpcbind
+# FIXME occasionally saw 'rpcbind: fork failed: No such device' -- why?
+command -v portmap >/dev/null && [ -z "$(pidof portmap)" ] && portmap
+command -v rpcbind >/dev/null && [ -z "$(pidof rpcbind)" ] && rpcbind
+
+[ ! -d /var/lib/nfs/rpc_pipefs/nfs ] && \
+ mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs
+
+# Start rpc.statd as mount won't let us use locks on a NFSv4
+# filesystem without talking to it. NFSv4 does locks internally,
+# rpc.lockd isn't needed
+[ -z "$(pidof rpc.statd)" ] && rpc.statd
+[ -z "$(pidof rpc.idmapd)" ] && rpc.idmapd
options=${options:+$options,}$nfsrw
-# Start rpcbind or rpcbind
-# FIXME occasionally saw 'rpcbind: fork failed: No such device' -- why?
-command -v portmap >/dev/null && [ -z "$(pidof portmap)" ] && portmap
-command -v rpcbind >/dev/null && [ -z "$(pidof rpcbind)" ] && rpcbind
-
if [ "$nfs" = "nfs4" ]; then
- [ ! -d /var/lib/nfs/rpc_pipefs/nfs ] && \
- mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs
-
- # Start rpc.statd as mount won't let us use locks on a NFSv4
- # filesystem without talking to it. NFSv4 does locks internally,
- # rpc.lockd isn't needed
- [ -z "$(pidof rpc.statd)" ] && rpc.statd
-
- [ -z "$(pidof rpc.idmapd)" ] && rpc.idmapd
-
# XXX Should we loop here?
mount -t nfs4 -o$options${nfslock+,$nfslock} \
$server:$path $NEWROOT \