aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/qoriq/base-files
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/qoriq/base-files')
-rw-r--r--target/linux/qoriq/base-files/etc/board.d/02_network38
-rw-r--r--target/linux/qoriq/base-files/lib/preinit/79_move_config17
-rwxr-xr-xtarget/linux/qoriq/base-files/lib/upgrade/platform.sh36
3 files changed, 91 insertions, 0 deletions
diff --git a/target/linux/qoriq/base-files/etc/board.d/02_network b/target/linux/qoriq/base-files/etc/board.d/02_network
new file mode 100644
index 0000000000..35b7ce9f32
--- /dev/null
+++ b/target/linux/qoriq/base-files/etc/board.d/02_network
@@ -0,0 +1,38 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+. /lib/functions/uci-defaults.sh
+. /lib/functions.sh
+. /lib/functions/system.sh
+
+board_config_update
+board=$(board_name)
+
+wg_set_opt_interface() {
+ local device="$1"
+ local offset="$2"
+
+ ucidef_set_interface "$device" device "$device" protocol static ipaddr "10.0.${offset}.1" netmask 255.255.255.0
+}
+
+case "$board" in
+watchguard,firebox-m300)
+ ucidef_set_interfaces_lan_wan "eth1" "eth0"
+ wg_set_opt_interface "eth2" "2"
+
+ sweth_mac_offset=0x186d
+
+ for sweth in /sys/class/net/sweth*; do
+ device="$(basename "$sweth")"
+ mac="$(mtd_get_mac_text wg_cfg0 "$sweth_mac_offset")"
+ switchports="$switchports $device"
+ ucidef_set_network_device_mac "$device" "$mac"
+ wg_set_opt_interface "$device" "${device#sweth}"
+ sweth_mac_offset=$(printf "0x%X\n" $(( $sweth_mac_offset + 0x14)))
+ done
+
+ ;;
+esac
+
+board_config_flush
+
+exit 0
diff --git a/target/linux/qoriq/base-files/lib/preinit/79_move_config b/target/linux/qoriq/base-files/lib/preinit/79_move_config
new file mode 100644
index 0000000000..54dd579660
--- /dev/null
+++ b/target/linux/qoriq/base-files/lib/preinit/79_move_config
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+. /lib/functions.sh
+. /lib/upgrade/common.sh
+
+move_config() {
+ local partdev
+
+ if export_bootdevice && export_partdevice partdev 1; then
+ mkdir -p /boot
+ mount -o rw,noatime "/dev/$partdev" /boot
+ [ -f "/boot/$BACKUP_FILE" ] && mv -f "/boot/$BACKUP_FILE" /
+ umount /boot
+ fi
+}
+
+boot_hook_add preinit_mount_root move_config
diff --git a/target/linux/qoriq/base-files/lib/upgrade/platform.sh b/target/linux/qoriq/base-files/lib/upgrade/platform.sh
new file mode 100755
index 0000000000..1392d5eb22
--- /dev/null
+++ b/target/linux/qoriq/base-files/lib/upgrade/platform.sh
@@ -0,0 +1,36 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+PART_NAME=firmware
+REQUIRE_IMAGE_METADATA=1
+
+platform_check_image() {
+ case "$(board_name)" in
+ watchguard,firebox-m300)
+ legacy_sdcard_check_image "$1"
+ ;;
+ *)
+ return 0
+ ;;
+ esac
+}
+
+platform_copy_config() {
+ case "$(board_name)" in
+ watchguard,firebox-m300)
+ legacy_sdcard_copy_config "$1"
+ ;;
+ *)
+ return 0
+ esac
+}
+
+platform_do_upgrade() {
+ case "$(board_name)" in
+ watchguard,firebox-m300)
+ legacy_sdcard_do_upgrade "$1"
+ ;;
+ *)
+ default_do_upgrade "$1"
+ ;;
+ esac
+}