diff --git a/openwrt/package/linux/Config.in b/openwrt/package/linux/Config.in
index 81cf74bca4feac9fae1fce2d78ebf6c4c1ee162d..bcb73db916551475b01d229cd95a8199be8f2378 100644
--- a/openwrt/package/linux/Config.in
+++ b/openwrt/package/linux/Config.in
@@ -29,6 +29,13 @@ config BR2_PACKAGE_KMOD_IPT6
 	help
 	  IPv6 firewalling support
 
+config BR2_PACKAGE_KMOD_NFS
+	tristate "NFS support"
+	default m
+	help
+	  Kernel modules for NFS support
+	  Includes lockd, nfs and sunrpc
+
 config BR2_PACKAGE_KMOD_USB
 	tristate "USB/SCSI support"
 	default m
diff --git a/openwrt/package/linux/Makefile b/openwrt/package/linux/Makefile
index 5909493ae4f64d5ee92512ab6c81cfa777a3325c..c6c270b2d9154eeed566e0fb13c7d6f41f254a00 100644
--- a/openwrt/package/linux/Makefile
+++ b/openwrt/package/linux/Makefile
@@ -40,6 +40,11 @@ $(eval $(call KMOD_template,IPT6,ip6tables,\
 $(eval $(call KMOD_template,IPV6,ipv6,\
 	$(MODULES_DIR)/kernel/net/ipv6/ipv6.o \
 ))
+$(eval $(call KMOD_template,NFS,nfs,\
+	$(MODULES_DIR)/kernel/fs/lockd/*.o \
+	$(MODULES_DIR)/kernel/fs/nfs/*.o \
+	$(MODULES_DIR)/kernel/net/sunrpc/*.o \
+))
 $(eval $(call KMOD_template,USB,usb,\
 	$(MODULES_DIR)/kernel/drivers/scsi/*.o \
 	$(MODULES_DIR)/kernel/drivers/usb/*.o \
diff --git a/openwrt/package/linux/control/kmod-nfs.control b/openwrt/package/linux/control/kmod-nfs.control
new file mode 100644
index 0000000000000000000000000000000000000000..9d38c310ea6700c090f907a2360dc8d3d83c541d
--- /dev/null
+++ b/openwrt/package/linux/control/kmod-nfs.control
@@ -0,0 +1,8 @@
+Package: kmod-nfs
+Priority: optional
+Section: sys
+Version: 2.4.29-1
+Architecture: mipsel
+Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
+Source: buildroot internal
+Description: Kernel modules for NFS support