The update failed: Command '['sudo', '/opt/tinypilot-privileged/scripts/update']' returned non-zero exit status 2. Retrieving update logs from TinyPilot device... 2025-05-20 08:37:00.914 __main__ INFO Starting TinyPilot update 2025-05-20 08:37:00.914 __main__ INFO Launching update script: /opt/tinypilot-privileged/scripts/update + set -u + set -e + readonly VERSION_FILE=/home/tinypilot/target-version + VERSION_FILE=/home/tinypilot/target-version + SCRIPT_ARGS=() + [[ -f /home/tinypilot/target-version ]] ++ cat /home/tinypilot/target-version + VERSION=2.7.0 + SCRIPT_ARGS+=(--version "${VERSION}") + readonly SCRIPT_ARGS + curl --silent --show-error https://gk.tinypilotkvm.com/get-tinypilot-pro.sh + bash -s -- --version 2.7.0 + LICENSE_KEY= + TARGET_VERSION= + ALLOW_REINSTALL=false + [[ 2 -gt 0 ]] + case "$1" in + TARGET_VERSION=2.7.0 + shift + shift + [[ 0 -gt 0 ]] + readonly LICENSE_KEY + readonly ALLOW_REINSTALL + readonly LEGACY_INSTALLER_DIR=/opt/tinypilot-updater + LEGACY_INSTALLER_DIR=/opt/tinypilot-updater + readonly RAMDISK_SIZE_MIB=560 + RAMDISK_SIZE_MIB=560 ++ free --mebi ++ grep --fixed-strings Mem: ++ cut --delimiter ' ' --fields 7 ++ tr --squeeze-repeats ' ' + AVAILABLE_MEMORY_MIB=7161 + readonly AVAILABLE_MEMORY_MIB + INSTALLER_DIR=/mnt/tinypilot-installer + trap clean_up EXIT + (( 7161 >= 560 )) + sudo mkdir /mnt/tinypilot-installer + sudo mount --types tmpfs --options size=560m --source tmpfs --target /mnt/tinypilot-installer --verbose mount: tmpfs mounted on /mnt/tinypilot-installer. + readonly INSTALLER_DIR + readonly TMPDIR=/mnt/tinypilot-installer/tmp + TMPDIR=/mnt/tinypilot-installer/tmp + export TMPDIR + sudo mkdir --mode=1777 /mnt/tinypilot-installer/tmp + readonly TINYPILOT_VERSION_FILE=/opt/tinypilot/VERSION + TINYPILOT_VERSION_FILE=/opt/tinypilot/VERSION + CURRENT_VERSION= + [[ -f /opt/tinypilot/VERSION ]] ++ cat /opt/tinypilot/VERSION + CURRENT_VERSION=2.6.5 + readonly CURRENT_VERSION + HAS_COMMUNITY_INSTALLED=0 + readonly TINYPILOT_README_FILE=/opt/tinypilot/README.md + TINYPILOT_README_FILE=/opt/tinypilot/README.md + [[ -f /opt/tinypilot/README.md ]] ++ head -n 1 /opt/tinypilot/README.md + [[ # TinyPilot Pro == \#\ \T\i\n\y\P\i\l\o\t ]] + readonly HAS_COMMUNITY_INSTALLED ++ tr --delete '\0' + MACHINE_ID=1000000074af072e + readonly MACHINE_ID ++ mktemp + AVAILABLE_UPDATE_FILE=/mnt/tinypilot-installer/tmp/tmp.vllUZXbRmY + readonly AVAILABLE_UPDATE_FILE + available_update + version_params=() + local version_params + [[ -n 2.6.5 ]] + version_params+=("currentVersion=${CURRENT_VERSION}") + version_params+=("kernelVersion=$(uname --kernel-release)") ++ uname --kernel-release + version_params+=("distroName=$(lsb_release --id --short)") ++ lsb_release --id --short + version_params+=("distroVersion=$(lsb_release --release --short)") ++ lsb_release --release --short + version_params+=("machineId=${MACHINE_ID}") + version_params+=("licenseKey=${LICENSE_KEY}") + readonly version_params + local curl_data_args= + for version_param in "${version_params[@]}" + curl_data_args+='--data-urlencode "currentVersion=2.6.5" ' + for version_param in "${version_params[@]}" + curl_data_args+='--data-urlencode "kernelVersion=6.1.21-v8+" ' + for version_param in "${version_params[@]}" + curl_data_args+='--data-urlencode "distroName=Raspbian" ' + for version_param in "${version_params[@]}" + curl_data_args+='--data-urlencode "distroVersion=11" ' + for version_param in "${version_params[@]}" + curl_data_args+='--data-urlencode "machineId=1000000074af072e" ' + for version_param in "${version_params[@]}" + curl_data_args+='--data-urlencode "licenseKey=" ' + readonly curl_data_args + local 'curl_cmd=strict_curl https://gk.tinypilotkvm.com/pro/available-update --get --data-urlencode "currentVersion=2.6.5" --data-urlencode "kernelVersion=6.1.21-v8+" --data-urlencode "distroName=Raspbian" --data-urlencode "distroVersion=11" --data-urlencode "machineId=1000000074af072e" --data-urlencode "licenseKey=" --header "Accept: application/json"' + readonly curl_cmd + eval 'strict_curl https://gk.tinypilotkvm.com/pro/available-update --get --data-urlencode "currentVersion=2.6.5" --data-urlencode "kernelVersion=6.1.21-v8+" --data-urlencode "distroName=Raspbian" --data-urlencode "distroVersion=11" --data-urlencode "machineId=1000000074af072e" --data-urlencode "licenseKey=" --header "Accept: application/json"' ++ strict_curl https://gk.tinypilotkvm.com/pro/available-update --get --data-urlencode currentVersion=2.6.5 --data-urlencode kernelVersion=6.1.21-v8+ --data-urlencode distroName=Raspbian --data-urlencode distroVersion=11 --data-urlencode machineId=1000000074af072e --data-urlencode licenseKey= --header 'Accept: application/json' ++ local output_file +++ mktemp ++ output_file=/mnt/tinypilot-installer/tmp/tmp.2VRZu4AWiX ++ readonly output_file ++ local http_code +++ curl --location --silent --write-out '%{http_code}' --output /mnt/tinypilot-installer/tmp/tmp.2VRZu4AWiX https://gk.tinypilotkvm.com/pro/available-update --get --data-urlencode currentVersion=2.6.5 --data-urlencode kernelVersion=6.1.21-v8+ --data-urlencode distroName=Raspbian --data-urlencode distroVersion=11 --data-urlencode machineId=1000000074af072e --data-urlencode licenseKey= --header 'Accept: application/json' ++ http_code=200 ++ readonly http_code ++ cat /mnt/tinypilot-installer/tmp/tmp.2VRZu4AWiX ++ (( 200 < 200 || 200 > 399 )) ++ python3 -c 'import json,sys; print(json.load(sys.stdin)["licenseCheckStatus"])' + LICENSE_CHECK_STATUS=VALID + readonly LICENSE_CHECK_STATUS + [[ -z 2.7.0 ]] + readonly TARGET_VERSION + [[ 2.6.5 == \2\.\7\.\0 ]] + [[ VALID == \U\N\B\O\U\N\D ]] ++ mktemp + BUNDLE_FILE=/mnt/tinypilot-installer/tmp/tmp.cf5BnNLTNr + strict_curl https://gk.tinypilotkvm.com/pro/download/2.7.0 --get --data-urlencode licenseKey= --data-urlencode machineId=1000000074af072e + local output_file ++ mktemp + output_file=/mnt/tinypilot-installer/tmp/tmp.WnDHXudRCv + readonly output_file + local http_code ++ curl --location --silent --write-out '%{http_code}' --output /mnt/tinypilot-installer/tmp/tmp.WnDHXudRCv https://gk.tinypilotkvm.com/pro/download/2.7.0 --get --data-urlencode licenseKey= --data-urlencode machineId=1000000074af072e + http_code=307 + readonly http_code + cat /mnt/tinypilot-installer/tmp/tmp.WnDHXudRCv + (( 307 < 200 || 307 > 399 )) + readonly BUNDLE_FILE + sudo tar --gunzip --extract --file /mnt/tinypilot-installer/tmp/tmp.cf5BnNLTNr --directory /mnt/tinypilot-installer gzip: stdin: unexpected end of file tar: Child returned status 1 tar: Error is not recoverable: exiting now + clean_up + sudo umount --lazy /mnt/tinypilot-installer + sudo rm -rf /opt/tinypilot-updater /mnt/tinypilot-installer 2025-05-20 08:37:02.186 __main__ ERROR Update process terminated with failing exit code: Command '['sudo', '/opt/tinypilot-privileged/scripts/update']' returned non-zero exit status 2. 2025-05-20 08:37:02.187 update.result_store INFO Writing result file to /home/tinypilot/logs/latest-update-result.json 2025-05-20 08:37:02.188 update.target_version INFO Clearing target version file /home/tinypilot/target-version