dracut/0075-nfs-install-modprobe-c...

58 lines
2.1 KiB
Diff

From 83a420674b7c1328ffb944678619595a431ffa48 Mon Sep 17 00:00:00 2001
From: Dave Young <dyoung@redhat.com>
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 <dyoung@redhat.com>
---
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"