diff options
author | Daniel Golle <daniel@makrotopia.org> | 2016-09-04 03:34:19 +0200 |
---|---|---|
committer | Daniel Golle <daniel@makrotopia.org> | 2016-09-04 04:58:46 +0200 |
commit | 9c69ba83e2d0c19959fed81cf4fa038fde3e518d (patch) | |
tree | 09c94b4e766f4aa07892527b2028995e957deb42 /target/linux/oxnas | |
parent | c773a2c46e043b8426a023d355aa74b538f4a9b4 (diff) | |
download | upstream-9c69ba83e2d0c19959fed81cf4fa038fde3e518d.tar.gz upstream-9c69ba83e2d0c19959fed81cf4fa038fde3e518d.tar.bz2 upstream-9c69ba83e2d0c19959fed81cf4fa038fde3e518d.zip |
oxnas: add method to extract mac_adr from legacy cmdline
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Diffstat (limited to 'target/linux/oxnas')
-rwxr-xr-x | target/linux/oxnas/base-files/etc/board.d/02_network | 10 | ||||
-rwxr-xr-x | target/linux/oxnas/base-files/lib/oxnas.sh | 24 |
2 files changed, 34 insertions, 0 deletions
diff --git a/target/linux/oxnas/base-files/etc/board.d/02_network b/target/linux/oxnas/base-files/etc/board.d/02_network index a025027fea..d4010e8b3a 100755 --- a/target/linux/oxnas/base-files/etc/board.d/02_network +++ b/target/linux/oxnas/base-files/etc/board.d/02_network @@ -2,10 +2,20 @@ . /lib/functions/uci-defaults.sh . /lib/functions/system.sh +. /lib/oxnas.sh board_config_update +lan_mac="" + +case "$(oxnas_board_name)" in + kd20) + lan_mac="$(legacy_boot_mac_adr)" + ;; +esac + ucidef_set_interface_lan "eth0" "dhcp" +[ -n "$lan_mac" ] && ucidef_set_interface_macaddr lan "$lan_mac" board_config_flush diff --git a/target/linux/oxnas/base-files/lib/oxnas.sh b/target/linux/oxnas/base-files/lib/oxnas.sh index 991f92720d..b0d79ea7cf 100755 --- a/target/linux/oxnas/base-files/lib/oxnas.sh +++ b/target/linux/oxnas/base-files/lib/oxnas.sh @@ -6,6 +6,30 @@ OXNAS_BOARD_NAME= OXNAS_MODEL= +bootloader_cmdline_var() { + local param + local pval + for arg in $(cat /proc/device-tree/chosen/bootloader-args); do + param="$(echo $arg | cut -d'=' -f 1)" + pval="$(echo $arg | cut -d'=' -f 2-)" + + if [ "$param" = "$1" ]; then + echo "$pval" + fi + done +} + +legacy_boot_mac_adr() { + local macstr + local oIFS + macstr="$(bootloader_cmdline_var mac_adr)" + oIFS="$IFS" + IFS="," + set -- $macstr + printf "%02x:%02x:%02x:%02x:%02x:%02x" $1 $2 $3 $4 $5 $6 + IFS="$oIFS" +} + oxnas_board_detect() { local machine local name |