[Buildroot] [PATCH 1/1] Add a filesystem option so a device can be booted over NFS.
Sagaert Johan
sagaert.johan at skynet.be
Tue Jul 15 13:21:16 UTC 2014
This options allows specifying a directory where the target rootfs is
copied to so it can be used to boot a device over NFS.
Signed-off-by: Sagaert Johan <sagaert.johan at skynet.be>
---
Makefile | 5 +++++
fs/Config.in | 1 +
fs/nfs/Config.in | 13 +++++++++++++
fs/nfs/nfs.mk | 16 ++++++++++++++++
4 files changed, 35 insertions(+)
create mode 100644 fs/nfs/Config.in
create mode 100644 fs/nfs/nfs.mk
diff --git a/Makefile b/Makefile
index dcbf2b3..4c7a707 100644
--- a/Makefile
+++ b/Makefile
@@ -833,6 +833,11 @@ clean:
rm -rf $(TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) \
$(BUILD_DIR) $(BASE_DIR)/staging \
$(LEGAL_INFO_DIR)
+ifeq ($(BR2_TARGET_ROOTFS_NFS),y)
+ if [ -d $(TARGET_ROOTFS_NFS_PATH) ]; then \
+ rm -rf $(TARGET_ROOTFS_NFS_PATH) ;\
+ fi
+endif
distclean: clean
ifeq ($(DL_DIR),$(TOPDIR)/dl)
diff --git a/fs/Config.in b/fs/Config.in
index 5853113..aa1460b 100644
--- a/fs/Config.in
+++ b/fs/Config.in
@@ -7,6 +7,7 @@ source "fs/ext2/Config.in"
source "fs/initramfs/Config.in"
source "fs/iso9660/Config.in"
source "fs/jffs2/Config.in"
+source "fs/nfs/Config.in"
source "fs/romfs/Config.in"
source "fs/squashfs/Config.in"
source "fs/tar/Config.in"
diff --git a/fs/nfs/Config.in b/fs/nfs/Config.in
new file mode 100644
index 0000000..cf32619
--- /dev/null
+++ b/fs/nfs/Config.in
@@ -0,0 +1,13 @@
+config BR2_TARGET_ROOTFS_NFS
+ bool "create NFS boot directory"
+ help
+ Creates a directory that contains the rootfs for booting over NFS.
+
+if BR2_TARGET_ROOTFS_NFS
+config BR2_TARGET_ROOTFS_NFS_PATH
+ string "path to the directory used for booting over NFS"
+ default "~/nfsrootfs"
+ help
+ Path to the directory used for booting over NFS.
+ (This should also be added to your /etc/exports file.)
+endif
diff --git a/fs/nfs/nfs.mk b/fs/nfs/nfs.mk
new file mode 100644
index 0000000..003ce71
--- /dev/null
+++ b/fs/nfs/nfs.mk
@@ -0,0 +1,15 @@
+################################################################################
+#
+# create a directory for booting the device from an NFS.
+#
+################################################################################
+
+TARGET_ROOTFS_NFS_PATH := $(call qstrip,$(BR2_TARGET_ROOTFS_NFS_PATH))
+
+define ROOTFS_NFS_CMD
+ rm -rf $(TARGET_ROOTFS_NFS_PATH) ;\
+ mkdir -p $(TARGET_ROOTFS_NFS_PATH) ;\
+ cp -r $(TARGET_DIR)/* $(TARGET_ROOTFS_NFS_PATH)
+endef
+
+$(eval $(call ROOTFS_TARGET,nfs))
--
2.0.1
More information about the buildroot
mailing list