#!/usr/bin/env bash set -euo pipefail adb_bin="${ADB_BIN:-adb}" expected_fingerprint='hp/t7h/pine:4.1.1/JRO03H/v1.05.18_user:user/release-keys' expected_kernel='3.0.8+' serial="${1:-}" if ! command -v "$adb_bin" >/dev/null 2>&1; then echo "adb not found. Set ADB_BIN=/absolute/path/to/adb." >&2 exit 1 fi adb_args=() if [[ -n "$serial" ]]; then adb_args=(-s "$serial") fi fingerprint="$($adb_bin "${adb_args[@]}" shell getprop ro.build.fingerprint | tr -d '\r')" kernel="$($adb_bin "${adb_args[@]}" shell cat /proc/sys/kernel/osrelease | tr -d '\r')" model="$($adb_bin "${adb_args[@]}" shell getprop ro.product.model | tr -d '\r')" sdk="$($adb_bin "${adb_args[@]}" shell getprop ro.build.version.sdk | tr -d '\r')" printf 'Model: %s\nFingerprint: %s\nKernel: %s\nSDK: %s\n' \ "$model" "$fingerprint" "$kernel" "$sdk" if [[ "$fingerprint" != "$expected_fingerprint" || "$kernel" != "$expected_kernel" ]]; then echo "REFUSED: this target does not match the verified device." >&2 exit 2 fi echo "Target matches the verified HP Slate 7 2800 firmware."