[arch-projects] [mkinitcpio] mkinitcpio-nfs-utils add nfsv4 support
Hopefully this hasn't been posted in the wrong place
From e3349c4176a70a67411fd9959af5701467666f9f Mon Sep 17 00:00:00 2001 From: George Kranis <george@kranis.org> Date: Mon, 14 Nov 2016 23:29:31 +0200 Subject: [PATCH] mkinitcpio-nfs-utils: add nfsv4 support
Signed-off-by: George Kranis <george@kranis.org> --- mkinitcpio-nfs-utils/trunk/PKGBUILD | 2 +- mkinitcpio-nfs-utils/trunk/initcpio-hook-net | 8 +++++++- mkinitcpio-nfs-utils/trunk/initcpio-install-net | 3 +++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/mkinitcpio-nfs-utils/trunk/PKGBUILD b/mkinitcpio-nfs-utils/trunk/PKGBUILD index 27006f6..a8d8e9a 100644 --- a/mkinitcpio-nfs-utils/trunk/PKGBUILD +++ b/mkinitcpio-nfs-utils/trunk/PKGBUILD @@ -8,7 +8,7 @@ pkgdesc="ipconfig and nfsmount tools for NFS root support in mkinitcpio" arch=('i686' 'x86_64') url="http://www.archlinux.org/" license=('GPL2') -depends=('glibc') +depends=('glibc' 'nfs-utils') source=("https://sources.archlinux.org/other/mkinitcpio/$pkgname-$pkgver.tar.xz" 'nfsmount-fix-wrong-umount-path.patch' 'initcpio-install-net' diff --git a/mkinitcpio-nfs-utils/trunk/initcpio-hook-net b/mkinitcpio-nfs-utils/trunk/initcpio-hook-net index 4d1ebb9..aa9d4ae 100644 --- a/mkinitcpio-nfs-utils/trunk/initcpio-hook-net +++ b/mkinitcpio-nfs-utils/trunk/initcpio-hook-net @@ -62,6 +62,7 @@ run_hook() { line="${line#"${nfs_path}"}" [ -z "${nfs_path}" ] && nfs_path="${defaultrootpath}" nfs_option="${line#","}" + expr match "$nfs_option" '.*vers=4.*' >/dev/null && nfs_vers=4 fi # ensure root and filesystem type are set proper for nfs boot @@ -77,6 +78,7 @@ run_hook() { } nfs_mount_handler() { + local mountcommand if [ -z "$nfs_server" -o -z "$nfs_path" ]; then err "Unable to mount root filesystem over NFS: wrong parameters." echo "You are being dropped to a recovery shell" @@ -84,7 +86,11 @@ nfs_mount_handler() { launch_interactive_shell msg "Trying to continue (this will most likely fail) ..." fi - nfsmount ${nfs_option:+-o ${nfs_option}} "${nfs_server}:${nfs_path}" "$1" + mountcommand=nfsmount + if [ "$nfs_vers" -eq "4" ]; then + mountcommand="mount.nfs4" + fi + $mountcommand ${nfs_option:+-o ${nfs_option}} "${nfs_server}:${nfs_path}" "$1" } # vim: set ft=sh ts=4 sw=4 et: diff --git a/mkinitcpio-nfs-utils/trunk/initcpio-install-net b/mkinitcpio-nfs-utils/trunk/initcpio-install-net index 79b6789..d2d1c27 100644 --- a/mkinitcpio-nfs-utils/trunk/initcpio-install-net +++ b/mkinitcpio-nfs-utils/trunk/initcpio-install-net @@ -3,9 +3,12 @@ build() { add_checked_modules '/drivers/net/' add_module nfsv3? + add_module sunrpc + add_module nfsv4 add_binary "/usr/lib/initcpio/ipconfig" "/bin/ipconfig" add_binary "/usr/lib/initcpio/nfsmount" "/bin/nfsmount" + add_binary "/usr/bin/mount.nfs4" "/bin/mount.nfs4" add_runscript } -- 2.9.3
participants (1)
-
George Kranis