oxnas: add method to extract mac_adr from legacy cmdline

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle 2016-09-04 03:34:19 +02:00
parent c773a2c46e
commit 9c69ba83e2
2 changed files with 34 additions and 0 deletions

View File

@ -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

View File

@ -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