diff options
Diffstat (limited to 'target/linux/ipq40xx/base-files/lib')
3 files changed, 41 insertions, 0 deletions
diff --git a/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh b/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh index 1acd7366c8..44e81ca366 100644 --- a/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh +++ b/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh @@ -8,6 +8,10 @@ preinit_set_mac_address() { mac_lan=$(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 102) [ -n "$mac_lan" ] && ip link set dev eth0 address "$mac_lan" ;; + zyxel,nbg6617) + base_mac=$(cat /sys/class/net/eth0/address) + ip link set dev eth0 address $(macaddr_add "$base_mac" +2) + ip link set dev eth1 address $(macaddr_add "$base_mac" +3) esac } diff --git a/target/linux/ipq40xx/base-files/lib/preinit/06_set_preinit_iface_ipq40xx.sh b/target/linux/ipq40xx/base-files/lib/preinit/06_set_preinit_iface_ipq40xx.sh new file mode 100644 index 0000000000..578ddbe4c4 --- /dev/null +++ b/target/linux/ipq40xx/base-files/lib/preinit/06_set_preinit_iface_ipq40xx.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +set_preinit_iface() { + . /lib/functions.sh + + case $(board_name) in + asus,rt-ac58u| \ + avm,fritzbox-4040| \ + glinet,gl-b1300| \ + meraki,mr33| \ + zyxel,nbg6617) + ifname=eth0 + ;; + *) + ;; + esac +} + +boot_hook_add preinit_main set_preinit_iface diff --git a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh index 4096e127ea..0e29302465 100644 --- a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh @@ -29,6 +29,21 @@ EOF return 0; } +zyxel_do_upgrade() { + local tar_file="$1" + + local board_dir=$(tar tf $tar_file | grep -m 1 '^sysupgrade-.*/$') + board_dir=${board_dir%/} + + tar Oxf $tar_file ${board_dir}/kernel | mtd write - kernel + + if [ "$SAVE_CONFIG" -eq 1 ]; then + tar Oxf $tar_file ${board_dir}/root | mtd -j "$CONF_TAR" write - rootfs + else + tar Oxf $tar_file ${board_dir}/root | mtd write - rootfs + fi +} + platform_do_upgrade() { case "$(board_name)" in 8dev,jalapeno) @@ -48,6 +63,9 @@ platform_do_upgrade() { CI_KERNPART="part.safe" nand_do_upgrade "$1" ;; + zyxel,nbg6617) + zyxel_do_upgrade "$1" + ;; *) default_do_upgrade "$ARGV" ;; |