-#!/bin/sh
. /lib/functions/uci-defaults.sh
. /lib/functions/system.sh
-. /lib/oxnas.sh
-board_config_update
+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
+}
-lan_mac=""
+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"
+}
-case "$(oxnas_board_name)" in
- kd20)
+oxnas_setup_interfaces()
+{
+ local board="$1"
+
+ case $board in
+ *)
+ ucidef_set_interface_lan "eth0" "dhcp"
+ ;;
+ esac
+}
+
+oxnas_setup_macs()
+{
+ local board="$1"
+ local lan_mac=""
+
+ case $board in
+ shuttle,kd20)
lan_mac="$(legacy_boot_mac_adr)"
;;
-esac
+ esac
-ucidef_set_interface_lan "eth0" "dhcp"
-[ -n "$lan_mac" ] && ucidef_set_interface_macaddr lan "$lan_mac"
+ [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
+}
+board_config_update
+board=$(board_name)
+oxnas_setup_interfaces $board
+oxnas_setup_macs $board
board_config_flush
exit 0