[OpenWrt-Devel] [PATCH 1/2] base-files: indicate initial setup by uci system config option

Adrian Schmutzler freifunk at adrianschmutzler.de
Fri Nov 8 07:05:19 EST 2019


This provides a uci system config setting that will be set only
during initial setup. This can be used by uci-defaults script to
determine whether they are run during initial setup or after a
sysupgrade.

Since the setting is removed again after uci-defaults have been
processed, it won't be recognized by the user on the running device,
but can be exploited also for downstream setup tasks.

Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
 package/base-files/files/bin/config_generate                  | 1 +
 .../base-files/files/etc/uci-defaults/90_end-initial-setup    | 4 ++++
 2 files changed, 5 insertions(+)
 create mode 100644 package/base-files/files/etc/uci-defaults/90_end-initial-setup

diff --git a/package/base-files/files/bin/config_generate b/package/base-files/files/bin/config_generate
index b473eba9e9..273561229a 100755
--- a/package/base-files/files/bin/config_generate
+++ b/package/base-files/files/bin/config_generate
@@ -243,6 +243,7 @@ generate_static_system() {
 		set system. at system[-1].ttylogin='0'
 		set system. at system[-1].log_size='64'
 		set system. at system[-1].urandom_seed='0'
+		set system. at system[-1].initial_setup='1'
 
 		delete system.ntp
 		set system.ntp='timeserver'
diff --git a/package/base-files/files/etc/uci-defaults/90_end-initial-setup b/package/base-files/files/etc/uci-defaults/90_end-initial-setup
new file mode 100644
index 0000000000..779d858d5f
--- /dev/null
+++ b/package/base-files/files/etc/uci-defaults/90_end-initial-setup
@@ -0,0 +1,4 @@
+uci -q delete system. at system[0].initial_setup
+uci commit system
+
+exit 0
-- 
2.20.1


_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list