bmips: split base-files into subtargets
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>
Mon, 22 Feb 2021 18:02:35 +0000 (19:02 +0100)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Mon, 22 Feb 2021 23:26:40 +0000 (00:26 +0100)
Like done for several targets already, splitting base-files into
subtarget will provide smaller images due to more specific
distribution of files per subtarget and allow to use default cases
more effectively.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
target/linux/bmips/base-files/etc/board.d/01_leds [deleted file]
target/linux/bmips/base-files/etc/uci-defaults/09_fix_crc [deleted file]
target/linux/bmips/base-files/lib/upgrade/platform.sh [deleted file]
target/linux/bmips/generic/base-files/etc/board.d/01_leds [new file with mode: 0755]
target/linux/bmips/generic/base-files/etc/uci-defaults/09_fix_crc [new file with mode: 0644]
target/linux/bmips/generic/base-files/lib/upgrade/platform.sh [new file with mode: 0644]
target/linux/bmips/nand/base-files/etc/board.d/01_leds [new file with mode: 0755]
target/linux/bmips/nand/base-files/lib/upgrade/platform.sh [new file with mode: 0644]

diff --git a/target/linux/bmips/base-files/etc/board.d/01_leds b/target/linux/bmips/base-files/etc/board.d/01_leds
deleted file mode 100755 (executable)
index 2f8d64a..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-. /lib/functions/leds.sh
-. /lib/functions/uci-defaults.sh
-
-board_config_update
-
-led_usb="$(get_dt_led usb)"
-[ -n "$led_usb" ] && ucidef_set_led_usbdev "usb" "usb" "$led_usb" "1-1"
-
-led_usb2="$(get_dt_led usb2)"
-[ -n "$led_usb2" ] && ucidef_set_led_usbdev "usb2" "usb2" "$led_usb2" "2-1"
-
-board_config_flush
-
-exit 0
diff --git a/target/linux/bmips/base-files/etc/uci-defaults/09_fix_crc b/target/linux/bmips/base-files/etc/uci-defaults/09_fix_crc
deleted file mode 100644 (file)
index 60227e7..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-. /lib/functions.sh
-
-case "$(board_name)" in
-       comtrend,ar-5315u|\
-       comtrend,ar-5387un|\
-       comtrend,vr-3025u)
-               mtd fixtrx firmware
-               ;;
-esac
-
-exit 0
diff --git a/target/linux/bmips/base-files/lib/upgrade/platform.sh b/target/linux/bmips/base-files/lib/upgrade/platform.sh
deleted file mode 100644 (file)
index 9723037..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-PART_NAME=firmware
-REQUIRE_IMAGE_METADATA=1
-
-platform_check_image() {
-       return 0
-}
-
-cfe_jffs2_nand_upgrade() {
-       local tar_file="$1"
-       local kernel_mtd="$(find_mtd_index $CI_KERNPART)"
-
-       if [ -z "$kernel_mtd" ]; then
-               echo "$CI_KERNPART partition not found"
-               return 1
-       fi
-
-       local board_dir=$(tar tf $tar_file | grep -m 1 '^sysupgrade-.*/$')
-       board_dir=${board_dir%/}
-
-       local kernel_length=$(tar xf $tar_file ${board_dir}/kernel -O | wc -c 2> /dev/null)
-       local rootfs_length=$(tar xf $tar_file ${board_dir}/root -O | wc -c 2> /dev/null)
-
-       if [ "$kernel_length" = 0 ]; then
-               echo "kernel cannot be empty"
-               return 1
-       fi
-
-       flash_erase -j /dev/mtd${kernel_mtd} 0 0
-       tar xf $tar_file ${board_dir}/kernel -O | nandwrite /dev/mtd${kernel_mtd} -
-
-       local rootfs_type="$(identify_tar "$tar_file" ${board_dir}/root)"
-
-       nand_upgrade_prepare_ubi "$rootfs_length" "$rootfs_type" "0" "0"
-
-       local ubidev="$( nand_find_ubi "$CI_UBIPART" )"
-
-       local root_ubivol="$(nand_find_volume $ubidev $CI_ROOTPART)"
-       tar xf $tar_file ${board_dir}/root -O | \
-               ubiupdatevol /dev/$root_ubivol -s $rootfs_length -
-
-       nand_do_upgrade_success
-}
-
-platform_do_upgrade() {
-       case "$(board_name)" in
-               comtrend,ar-5315u|\
-               comtrend,ar-5387un|\
-               comtrend,vr-3025u|\
-               huawei,hg556a-b)
-                       default_do_upgrade "$1"
-                       ;;
-               comtrend,vr-3032u|\
-               netgear,dgnd3700-v2)
-                       cfe_jffs2_nand_upgrade "$1"
-                       ;;
-       esac
-}
diff --git a/target/linux/bmips/generic/base-files/etc/board.d/01_leds b/target/linux/bmips/generic/base-files/etc/board.d/01_leds
new file mode 100755 (executable)
index 0000000..2f8d64a
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+. /lib/functions/leds.sh
+. /lib/functions/uci-defaults.sh
+
+board_config_update
+
+led_usb="$(get_dt_led usb)"
+[ -n "$led_usb" ] && ucidef_set_led_usbdev "usb" "usb" "$led_usb" "1-1"
+
+led_usb2="$(get_dt_led usb2)"
+[ -n "$led_usb2" ] && ucidef_set_led_usbdev "usb2" "usb2" "$led_usb2" "2-1"
+
+board_config_flush
+
+exit 0
diff --git a/target/linux/bmips/generic/base-files/etc/uci-defaults/09_fix_crc b/target/linux/bmips/generic/base-files/etc/uci-defaults/09_fix_crc
new file mode 100644 (file)
index 0000000..60227e7
--- /dev/null
@@ -0,0 +1,13 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+. /lib/functions.sh
+
+case "$(board_name)" in
+       comtrend,ar-5315u|\
+       comtrend,ar-5387un|\
+       comtrend,vr-3025u)
+               mtd fixtrx firmware
+               ;;
+esac
+
+exit 0
diff --git a/target/linux/bmips/generic/base-files/lib/upgrade/platform.sh b/target/linux/bmips/generic/base-files/lib/upgrade/platform.sh
new file mode 100644 (file)
index 0000000..d731bb7
--- /dev/null
@@ -0,0 +1,16 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+PART_NAME=firmware
+REQUIRE_IMAGE_METADATA=1
+
+platform_check_image() {
+       return 0
+}
+
+platform_do_upgrade() {
+       case "$(board_name)" in
+               *)
+                       default_do_upgrade "$1"
+                       ;;
+       esac
+}
diff --git a/target/linux/bmips/nand/base-files/etc/board.d/01_leds b/target/linux/bmips/nand/base-files/etc/board.d/01_leds
new file mode 100755 (executable)
index 0000000..2f8d64a
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+. /lib/functions/leds.sh
+. /lib/functions/uci-defaults.sh
+
+board_config_update
+
+led_usb="$(get_dt_led usb)"
+[ -n "$led_usb" ] && ucidef_set_led_usbdev "usb" "usb" "$led_usb" "1-1"
+
+led_usb2="$(get_dt_led usb2)"
+[ -n "$led_usb2" ] && ucidef_set_led_usbdev "usb2" "usb2" "$led_usb2" "2-1"
+
+board_config_flush
+
+exit 0
diff --git a/target/linux/bmips/nand/base-files/lib/upgrade/platform.sh b/target/linux/bmips/nand/base-files/lib/upgrade/platform.sh
new file mode 100644 (file)
index 0000000..05e6db1
--- /dev/null
@@ -0,0 +1,56 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+PART_NAME=firmware
+REQUIRE_IMAGE_METADATA=1
+
+platform_check_image() {
+       return 0
+}
+
+cfe_jffs2_nand_upgrade() {
+       local tar_file="$1"
+       local kernel_mtd="$(find_mtd_index $CI_KERNPART)"
+
+       if [ -z "$kernel_mtd" ]; then
+               echo "$CI_KERNPART partition not found"
+               return 1
+       fi
+
+       local board_dir=$(tar tf $tar_file | grep -m 1 '^sysupgrade-.*/$')
+       board_dir=${board_dir%/}
+
+       local kernel_length=$(tar xf $tar_file ${board_dir}/kernel -O | wc -c 2> /dev/null)
+       local rootfs_length=$(tar xf $tar_file ${board_dir}/root -O | wc -c 2> /dev/null)
+
+       if [ "$kernel_length" = 0 ]; then
+               echo "kernel cannot be empty"
+               return 1
+       fi
+
+       flash_erase -j /dev/mtd${kernel_mtd} 0 0
+       tar xf $tar_file ${board_dir}/kernel -O | nandwrite /dev/mtd${kernel_mtd} -
+
+       local rootfs_type="$(identify_tar "$tar_file" ${board_dir}/root)"
+
+       nand_upgrade_prepare_ubi "$rootfs_length" "$rootfs_type" "0" "0"
+
+       local ubidev="$( nand_find_ubi "$CI_UBIPART" )"
+
+       local root_ubivol="$(nand_find_volume $ubidev $CI_ROOTPART)"
+       tar xf $tar_file ${board_dir}/root -O | \
+               ubiupdatevol /dev/$root_ubivol -s $rootfs_length -
+
+       nand_do_upgrade_success
+}
+
+platform_do_upgrade() {
+       case "$(board_name)" in
+               comtrend,vr-3032u|\
+               netgear,dgnd3700-v2)
+                       cfe_jffs2_nand_upgrade "$1"
+                       ;;
+               *)
+                       nand_do_upgrade "$1"
+                       ;;
+       esac
+}