Initial RK1 media-center image project
This commit is contained in:
Executable
+57
@@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env bash
|
||||
# Extract only the immutable RKNN assets needed by install-rknn-runtime.sh.
|
||||
|
||||
set -Eeuo pipefail
|
||||
|
||||
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)
|
||||
# shellcheck source=rknn-version.env
|
||||
source "$SCRIPT_DIR/rknn-version.env"
|
||||
|
||||
[[ $# -eq 2 ]] || {
|
||||
echo "Usage: $0 PINNED-RKNN-CHECKOUT OUTPUT-DIRECTORY" >&2
|
||||
exit 2
|
||||
}
|
||||
|
||||
SOURCE_DIR=$(readlink -f -- "$1")
|
||||
OUTPUT_DIR=$2
|
||||
[[ -d "$SOURCE_DIR/.git" ]] || {
|
||||
echo "Source must be a Git checkout: $SOURCE_DIR" >&2
|
||||
exit 1
|
||||
}
|
||||
[[ "$(git -C "$SOURCE_DIR" rev-parse HEAD)" == "$RKNN_COMMIT" ]] || {
|
||||
echo "RKNN checkout is not pinned commit $RKNN_COMMIT" >&2
|
||||
exit 1
|
||||
}
|
||||
[[ ! -e "$OUTPUT_DIR" ]] || {
|
||||
echo "Refusing to replace existing output: $OUTPUT_DIR" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
declare -a assets=(
|
||||
"rknpu2/runtime/Linux/librknn_api/include/rknn_api.h:$RKNN_HEADER_SHA256"
|
||||
"rknpu2/runtime/Linux/librknn_api/aarch64/librknnrt.so:$RKNN_RUNTIME_AARCH64_SHA256"
|
||||
"rknpu2/examples/rknn_api_demo/model/RK3588/mobilenet_v1.rknn:$RKNN_MOBILENET_RK3588_SHA256"
|
||||
"rknpu2/examples/rknn_api_demo/model/dog_224x224.jpg:$RKNN_DEMO_IMAGE_SHA256"
|
||||
"LICENSE:$RKNN_LICENSE_SHA256"
|
||||
)
|
||||
|
||||
for entry in "${assets[@]}"; do
|
||||
relative_path=${entry%%:*}
|
||||
expected_sha=${entry##*:}
|
||||
actual_sha=$(sha256sum "$SOURCE_DIR/$relative_path" | awk '{print $1}')
|
||||
[[ "$actual_sha" == "$expected_sha" ]] || {
|
||||
echo "Checksum mismatch: $relative_path" >&2
|
||||
exit 1
|
||||
}
|
||||
install -D -m 0644 "$SOURCE_DIR/$relative_path" "$OUTPUT_DIR/$relative_path"
|
||||
done
|
||||
|
||||
cat >"$OUTPUT_DIR/SOURCE.env" <<EOF
|
||||
RKNN_VERSION=$RKNN_VERSION
|
||||
RKNN_TAG=$RKNN_TAG
|
||||
RKNN_COMMIT=$RKNN_COMMIT
|
||||
RKNN_REPOSITORY=$RKNN_REPOSITORY
|
||||
EOF
|
||||
chmod 0644 "$OUTPUT_DIR/SOURCE.env"
|
||||
|
||||
echo "Created verified offline RKNN bundle: $OUTPUT_DIR"
|
||||
Reference in New Issue
Block a user