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/netconfigmaster
parent
5634fc9fef
commit
3da03a6036
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue