NFS: Add support for debian based distros

This patch enhances nfsroot and the nfs test-suite with compatibility
for debian based distros. This is mainly the difference of using
portmap instead of rpcbind and the missing file /etc/netconfig
master
Philippe Seewer 2009-06-16 09:56:31 +02:00
parent 5634fc9fef
commit 3da03a6036
6 changed files with 18 additions and 8 deletions

View File

@ -7,5 +7,6 @@
[ "$1" = "-h" ] && ! egrep -q '/ nfs[34 ]' /proc/mounts && exit 1

# If our prerequisites are not met, fail anyways.
which rpcbind rpc.statd mount.nfs mount.nfs4 umount >/dev/null 2>&1 || exit 1
which rpcbind >/dev/null 2>&1 || which portmap >/dev/null 2>&1 || exit 1
which rpc.statd mount.nfs mount.nfs4 umount >/dev/null 2>&1 || exit 1
exit 0

View File

@ -1,6 +1,10 @@
#!/bin/sh
dracut_install rpcbind rpc.statd mount.nfs mount.nfs4 umount
dracut_install /etc/netconfig /etc/passwd /etc/services
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/passwd /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

View File

@ -68,7 +68,8 @@ incol2 /proc/filesystems nfs4 || modprobe nfs || exit 1
# Start rpcbind and rpc.statd as mount won't let us use locks on a NFSv4
# filesystem without talking to them, even though they are unneeded
# XXX occasionally saw 'rpcbind: fork failed: No such device' -- why?
[ -n "$(pidof rpcbind)" ] || rpcbind
[ -x /sbin/portmap ] && [ -z "$(pidof portmap)" ] && portmap
[ -x /sbin/rpcbind ] && [ -z "$(pidof rpcbind)" ] && rpcbind
[ -n "$(pidof rpc.statd)" ] || rpc.statd

# XXX should I do rpc.idmapd here, or wait and start in the new root

View File

@ -7,11 +7,11 @@

emergency_shell()
{
source_all emergency
echo ; echo
echo "Bug in initramfs /init detected. Dropping to a shell. Good luck!"
echo
sh -i
source_all emergency
}

export PATH=/sbin:/bin:/usr/sbin:/usr/bin

View File

@ -15,7 +15,8 @@ mount --bind /nfs/client /nfs/ip/192.168.50.101
mount --bind /nfs/client /nfs/tftpboot/nfs4-5
modprobe sunrpc
mount -t rpc_pipefs sunrpc /var/lib/nfs/rpc_pipefs
rpcbind
[ -x /sbin/portmap ] && portmap
[ -x /sbin/rpcbind ] && rpcbind
modprobe nfsd
mount -t nfsd nfsd /proc/fs/nfsd
exportfs -r

View File

@ -272,8 +272,11 @@ test_setup() {
. $basedir/dracut-functions
dracut_install sh ls shutdown poweroff stty cat ps ln ip \
/lib/terminfo/l/linux dmesg mkdir cp ping exportfs \
rpcbind modprobe rpc.nfsd rpc.mountd dhcpd showmount tcpdump \
/etc/netconfig /etc/services sleep mount
modprobe rpc.nfsd rpc.mountd dhcpd showmount tcpdump \
/etc/services sleep mount
which portmap >/dev/null 2>&1 && dracut_install portmap
which rpcbind >/dev/null 2>&1 && dracut_install rpcbind
[ -f /etc/netconfig ] && dracut_install /etc/netconfig
instmods nfsd sunrpc ipv6
inst ./server-init /sbin/init
inst ./hosts /etc/hosts