[openwrt/openwrt] base-files: add option to make /var persistent

LEDE Commits lede-commits at lists.infradead.org
Sun Aug 22 09:38:26 PDT 2021


stintel pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/57807f50ded6cf0996284a850084183af13d5894

commit 57807f50ded6cf0996284a850084183af13d5894
Author: Stijn Tintel <stijn at linux-ipv6.be>
AuthorDate: Mon Feb 25 15:05:07 2019 +0200

    base-files: add option to make /var persistent
    
    In OpenWrt, /var is symlinked to /tmp by default. This is done to reduce
    the amount of writes to the flash chip, which often have not the
    greatest durability. As a result, things like DHCP or UPnP lease files,
    are not persistent across reboots.
    
    Since OpenWrt can run on devices with more durable storage, it makes
    sense to have an option for a persistent /var. Add an option to make
    /var persistent. When enabled, /var will no longer be symlinked to /tmp,
    but /var/run will be symlink to /tmp/run, as it should contains only
    files that should not be kept during reboot. The option is off by
    default, to maintain the current behaviour.
    
    Signed-off-by: Stijn Tintel <stijn at linux-ipv6.be>
---
 config/Config-images.in     | 8 ++++++++
 package/base-files/Makefile | 5 +++++
 2 files changed, 13 insertions(+)

diff --git a/config/Config-images.in b/config/Config-images.in
index 4a7f08824b..92720fb84d 100644
--- a/config/Config-images.in
+++ b/config/Config-images.in
@@ -303,4 +303,12 @@ menu "Target Images"
 		  it will be mounted by PARTUUID which makes the kernel find the
 		  appropriate disk automatically.
 
+	config TARGET_ROOTFS_PERSIST_VAR
+		bool "Make /var persistent"
+		default n
+		help
+		  Do not symlink /var to /tmp, so that its content will persist
+		  across reboots. When enabled, /var/run will still be linked
+		  to /tmp/run.
+
 endmenu
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index d67f551b9c..6da3df2b4e 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -181,8 +181,13 @@ define Package/base-files/install
 	mkdir -p $(1)/www
 	mkdir -p $(1)/root
 	$(LN) /proc/mounts $(1)/etc/mtab
+ifeq ($(CONFIG_TARGET_ROOTFS_PERSIST_VAR),n)
 	rm -f $(1)/var
 	$(LN) tmp $(1)/var
+else
+	mkdir -p $(1)/var
+	$(LN) /tmp/run $(1)/var/run
+endif
 	mkdir -p $(1)/etc
 	$(LN) /tmp/resolv.conf /tmp/TZ /tmp/localtime $(1)/etc/
 



More information about the lede-commits mailing list