[OpenWrt-Devel] [PATCH 1/2] base-files: rename hostname with EUI of mac address
Adrian Schmutzler
freifunk at adrianschmutzler.de
Fri Nov 8 06:48:40 EST 2019
From: Rosy Song <rosysong at rosinson.com>
If a label MAC address is provided for device, system
will rename the hostname with OpenWrt_<EUI of MAC address>.
This helps to distinguish between different devices.
Since it's no good idea to nest json_* functions, this code does
not use get_mac_label directly, but only get_mac_label_dt as
external resource.
Signed-off-by: Rosy Song <rosysong at rosinson.com>
[rebased on updated label MAC address storage, extended commit message]
Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
package/base-files/files/bin/config_generate | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/package/base-files/files/bin/config_generate b/package/base-files/files/bin/config_generate
index 3ca035ca8b..b473eba9e9 100755
--- a/package/base-files/files/bin/config_generate
+++ b/package/base-files/files/bin/config_generate
@@ -3,6 +3,7 @@
CFG=/etc/board.json
. /usr/share/libubox/jshn.sh
+. /lib/functions/system.sh
[ -s $CFG ] || /bin/board_detect || exit 1
[ -s /etc/config/network -a -s /etc/config/system ] && exit 0
@@ -253,9 +254,22 @@ generate_static_system() {
add_list system.ntp.server='3.openwrt.pool.ntp.org'
EOF
+ local label_macaddr=$(get_mac_label_dt)
+ local hostname
+
+ if json_is_a system object; then
+ json_select system
+ [ -n "$label_macaddr" ] || json_get_var label_macaddr label_macaddr
+ json_select ..
+ fi
+
+ if [ -n "$label_macaddr" ]; then
+ hostname="OpenWrt-$(macaddr_geteui $label_macaddr)"
+ uci -q set "system. at system[-1].hostname=$hostname"
+ fi
+
if json_is_a system object; then
json_select system
- local hostname
if json_get_var hostname hostname; then
uci -q set "system. at system[-1].hostname=$hostname"
fi
--
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