Author: florian
Date: 2016-02-01 02:06:56 +0100 (Mon, 01 Feb 2016)
New Revision: 48591

Modified:
   trunk/include/kernel-defaults.mk
Log:
kernel: set root on NFS when enabled

Replace the configured root device with a NFS root device and automatic
IP configuration for booting over NFS.

Signed-off-by: Florian Fainelli <[email protected]>

Modified: trunk/include/kernel-defaults.mk
===================================================================
--- trunk/include/kernel-defaults.mk    2016-02-01 01:06:39 UTC (rev 48590)
+++ trunk/include/kernel-defaults.mk    2016-02-01 01:06:56 UTC (rev 48591)
@@ -104,6 +104,18 @@
        echo 'CONFIG_INITRAMFS_SOURCE=""' >> $(LINUX_DIR)/.config.set
 endef
 
+ifeq ($(CONFIG_KERNEL_ROOT_NFS),y)
+  define Kernel/SetNfsCmdline
+       rm -f $(LINUX_DIR)/.config.prev
+       mv $(LINUX_DIR)/.config $(LINUX_DIR)/.config.old
+       grep -v "CONFIG_CMDLINE=" $(LINUX_DIR)/.config.old > 
$(LINUX_DIR)/.config
+       grep "CONFIG_CMDLINE=" $(LINUX_DIR)/.config.old | cut -d\" -f2 | sed 
's/root=\/dev\/\([a-z0-9]*\)\(.*\)/CONFIG_CMDLINE=\"root=\/dev\/nfs 
ip=dhcp\2\"/' >> $(LINUX_DIR)/.config
+  endef
+else
+  define Kernel/SetNfsCmdline
+  endef
+endif
+
 define Kernel/Configure/Default
        $(LINUX_CONF_CMD) > $(LINUX_DIR)/.config.target
 # copy CONFIG_KERNEL_* settings over to .config.target
@@ -114,6 +126,7 @@
        $(SCRIPT_DIR)/metadata.pl kconfig $(TMP_DIR)/.packageinfo 
$(TOPDIR)/.config $(KERNEL_PATCHVER) > $(LINUX_DIR)/.config.override
        $(SCRIPT_DIR)/kconfig.pl 'm+' '+' $(LINUX_DIR)/.config.target /dev/null 
$(LINUX_DIR)/.config.override > $(LINUX_DIR)/.config.set
        $(call Kernel/SetNoInitramfs)
+       $(call Kernel/SetNfsCmdline)
        rm -rf $(KERNEL_BUILD_DIR)/modules
        cmp -s $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config.prev || { \
                cp $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config; \
_______________________________________________
openwrt-commits mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-commits

Reply via email to