From 83a420674b7c1328ffb944678619595a431ffa48 Mon Sep 17 00:00:00 2001 From: Dave Young Date: Wed, 11 Jul 2012 13:08:18 +0800 Subject: [PATCH] nfs: install modprobe config file install nfs modprobe config file For nfs4, in case nfs.ko is not loaded mount.nfs4 will try to load nfs4.ko instead of nfs.ko. Fedora nfs-utils creates a lib/modprobe.d/nfs.conf in which there's below alias: alias nfs4 nfs Dracut also need this file to auto load nfs kernel module. Tested booting to a fedora 17 nfsroot share. Signed-off-by: Dave Young --- modules.d/95nfs/module-setup.sh | 6 ++++++ modules.d/95nfs/parse-nfsroot.sh | 7 ------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/modules.d/95nfs/module-setup.sh b/modules.d/95nfs/module-setup.sh index b170de5..0c07725 100755 --- a/modules.d/95nfs/module-setup.sh +++ b/modules.d/95nfs/module-setup.sh @@ -35,6 +35,12 @@ install() { mount.nfs4 umount rpc.idmapd sed /etc/netconfig dracut_install /etc/services /etc/nsswitch.conf /etc/rpc /etc/protocols /etc/idmapd.conf + if [ -f /lib/modprobe.d/nfs.conf ]; then + dracut_install /lib/modprobe.d/nfs.conf + else + echo "alias nfs4 nfs" > $initdir/etc/modprobe.d/nfs.conf + fi + inst_libdir_file 'libnfsidmap_nsswitch.so*' 'libnfsidmap/*.so' 'libnfsidmap*.so*' _nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' /etc/nsswitch.conf \ diff --git a/modules.d/95nfs/parse-nfsroot.sh b/modules.d/95nfs/parse-nfsroot.sh index 4e69edc..769d233 100755 --- a/modules.d/95nfs/parse-nfsroot.sh +++ b/modules.d/95nfs/parse-nfsroot.sh @@ -88,13 +88,6 @@ nfsroot_to_var $netroot # Set fstype, might help somewhere fstype=${nfs#/dev/} -# NFS actually supported? Some more uglyness here: nfs3 or nfs4 might not -# be in the module... -if ! incol2 /proc/filesystems $fstype ; then - modprobe nfs - incol2 /proc/filesystems $fstype || die "nfsroot type $fstype requested but kernel/initrd does not support nfs" -fi - # Rewrite root so we don't have to parse this uglyness later on again netroot="$fstype:$server:$path:$options"