mirror of
https://github.com/FUjr/gl-infra-builder.git
synced 2025-12-16 09:10:02 +00:00
83 lines
2.2 KiB
Diff
83 lines
2.2 KiB
Diff
From d5d5a2cd3dd981a0fc68a528151a5ba772e7ab0a Mon Sep 17 00:00:00 2001
|
|
From: Weiping Yang <weiping.yang@gl-inet.com>
|
|
Date: Mon, 27 Feb 2023 01:41:14 -0500
|
|
Subject: [PATCH] update-mvebu-fwtools-script
|
|
|
|
---
|
|
.../base-files/lib/upgrade/fwtool.sh | 63 +++++++++++++++++++
|
|
1 file changed, 63 insertions(+)
|
|
create mode 100644 target/linux/mvebu/cortexa53/base-files/lib/upgrade/fwtool.sh
|
|
|
|
diff --git a/target/linux/mvebu/cortexa53/base-files/lib/upgrade/fwtool.sh b/target/linux/mvebu/cortexa53/base-files/lib/upgrade/fwtool.sh
|
|
new file mode 100644
|
|
index 0000000000..7c82bc5289
|
|
--- /dev/null
|
|
+++ b/target/linux/mvebu/cortexa53/base-files/lib/upgrade/fwtool.sh
|
|
@@ -0,0 +1,63 @@
|
|
+fwtool_check_signature() {
|
|
+ [ $# -gt 1 ] && return 1
|
|
+
|
|
+ [ ! -x /usr/bin/ucert ] && {
|
|
+ if [ "$REQUIRE_IMAGE_SIGNATURE" = 1 ]; then
|
|
+ return 1
|
|
+ else
|
|
+ return 0
|
|
+ fi
|
|
+ }
|
|
+
|
|
+ if ! fwtool -q -s /tmp/sysupgrade.ucert "$1"; then
|
|
+ v "Image signature not present"
|
|
+ [ "$REQUIRE_IMAGE_SIGNATURE" = 1 -a "$FORCE" != 1 ] && {
|
|
+ v "Use sysupgrade -F to override this check when downgrading or flashing to vendor firmware"
|
|
+ }
|
|
+ [ "$REQUIRE_IMAGE_SIGNATURE" = 1 ] && return 1
|
|
+ return 0
|
|
+ fi
|
|
+
|
|
+ fwtool -q -T -s /dev/null "$1" | \
|
|
+ ucert -V -m - -c "/tmp/sysupgrade.ucert" -P /etc/opkg/keys
|
|
+
|
|
+ return $?
|
|
+}
|
|
+
|
|
+fwtool_check_image() {
|
|
+ [ $# -gt 1 ] && return 1
|
|
+
|
|
+ . /usr/share/libubox/jshn.sh
|
|
+
|
|
+ if ! fwtool -q -i /tmp/sysupgrade.meta "$1"; then
|
|
+ v "Image metadata not present"
|
|
+ [ "$REQUIRE_IMAGE_METADATA" = 1 -a "$FORCE" != 1 ] && {
|
|
+ v "Use sysupgrade -F to override this check when downgrading or flashing to vendor firmware"
|
|
+ }
|
|
+ [ "$REQUIRE_IMAGE_METADATA" = 1 ] && return 1
|
|
+ return 0
|
|
+ fi
|
|
+
|
|
+ json_load "$(cat /tmp/sysupgrade.meta)" || {
|
|
+ v "Invalid image metadata"
|
|
+ return 1
|
|
+ }
|
|
+
|
|
+ device="$(cat /tmp/sysinfo/board_name)"
|
|
+
|
|
+ json_select supported_devices || return 1
|
|
+
|
|
+ json_get_keys dev_keys
|
|
+ for k in $dev_keys; do
|
|
+ json_get_var dev "$k"
|
|
+ dev=$(echo $dev | awk -F "-emmc" '{print $1}')
|
|
+ [ "$dev" = "$device" ] && return 0
|
|
+ done
|
|
+
|
|
+ v "Device $device not supported by this image"
|
|
+ for k in $dev_keys; do
|
|
+ json_get_var dev "$k"
|
|
+ v "$dev"
|
|
+ done
|
|
+ return 1
|
|
+}
|
|
--
|
|
2.17.1
|
|
|