diff options
Diffstat (limited to 'target/linux/qoriq/base-files')
-rw-r--r-- | target/linux/qoriq/base-files/etc/board.d/02_network | 38 | ||||
-rw-r--r-- | target/linux/qoriq/base-files/lib/preinit/79_move_config | 17 | ||||
-rwxr-xr-x | target/linux/qoriq/base-files/lib/upgrade/platform.sh | 36 |
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 +} |