#!/bin/sh . /lib/functions.sh . /lib/functions/system.sh set_from_redboot () { for npe in eth0 eth1 eth2 do if ip link show dev $npe > /dev/null 2>&1; then ip link set dev $npe address $(fconfig -s -r -d /dev/$1 -n npe_"$npe"_esa) fi done # Devices with MAC address set blank: set a dummy value. if [ "$(ip link show dev eth0 2>/dev/null | grep -c 00:00:00:00:00:00)" = "1" ]; then ip link set dev eth0 address 00:11:22:33:44:55 fi if [ "$(ip link show dev eth1 2>/dev/null | grep -c 00:00:00:00:00:00)" = "1" ]; then ip link set dev eth0 address 00:11:22:33:44:56 fi } set_from_sysconf () { ip link set dev eth0 address $(mtd_get_mac_ascii SysConf hw_addr) } set_ether_mac () { RBC="$(grep "RedBoot config" /proc/mtd | cut -d: -f1)" if [ ! -z $RBC ] ; then set_from_redboot $RBC else SYSC="$(grep "SysConf" /proc/mtd | cut -d: -f1)" if [ ! -z $SYSC ] ; then set_from_sysconf fi fi } boot_hook_add preinit_main set_ether_mac