mirror of
https://github.com/hanwckf/immortalwrt-mt798x.git
synced 2025-01-10 03:09:08 +08:00
base-files: rename hostname with EUI of mac address
If a label MAC address is provided for device, system will rename the hostname with OpenWrt_{eui 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@rosinson.com> [merged with commit introducing macaddr_geteui, rebased on updated label MAC address storage, extended commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This commit is contained in:
parent
a6fbdd3a78
commit
6170c46b47
@ -3,6 +3,7 @@
|
|||||||
CFG=/etc/board.json
|
CFG=/etc/board.json
|
||||||
|
|
||||||
. /usr/share/libubox/jshn.sh
|
. /usr/share/libubox/jshn.sh
|
||||||
|
. /lib/functions/system.sh
|
||||||
|
|
||||||
[ -s $CFG ] || /bin/board_detect || exit 1
|
[ -s $CFG ] || /bin/board_detect || exit 1
|
||||||
[ -s /etc/config/network -a -s /etc/config/system ] && exit 0
|
[ -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'
|
add_list system.ntp.server='3.openwrt.pool.ntp.org'
|
||||||
EOF
|
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.@system[-1].hostname=$hostname"
|
||||||
|
fi
|
||||||
|
|
||||||
if json_is_a system object; then
|
if json_is_a system object; then
|
||||||
json_select system
|
json_select system
|
||||||
local hostname
|
|
||||||
if json_get_var hostname hostname; then
|
if json_get_var hostname hostname; then
|
||||||
uci -q set "system.@system[-1].hostname=$hostname"
|
uci -q set "system.@system[-1].hostname=$hostname"
|
||||||
fi
|
fi
|
||||||
|
@ -144,6 +144,13 @@ macaddr_add() {
|
|||||||
echo $oui:$nic
|
echo $oui:$nic
|
||||||
}
|
}
|
||||||
|
|
||||||
|
macaddr_geteui() {
|
||||||
|
local mac=$1
|
||||||
|
local sep=$2
|
||||||
|
|
||||||
|
echo ${mac:9:2}$sep${mac:12:2}$sep${mac:15:2}
|
||||||
|
}
|
||||||
|
|
||||||
macaddr_setbit_la() {
|
macaddr_setbit_la() {
|
||||||
local mac=$1
|
local mac=$1
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user