Files
reterminal-dm4/emmc-provisioning/host/README.md
nearxos 55b8661a2e Update documentation and scripts for revision tracking and cloud-init enhancements</message>
<message>Introduce a revision tracking system across project files, allowing for easier identification of changes. Update the README files to include instructions for bumping revisions and auto-bumping on commits. Additionally, enhance cloud-init scripts with revision comments for better version control. Modify the dashboard API to improve build status management, including a forced clear option for stuck statuses, enhancing user experience and operational reliability.
2026-02-23 10:38:24 +02:00

1.6 KiB

Host-side provisioning scripts

These files run on the provisioning host (e.g. the Proxmox host where the reTerminal is connected via USB).

File Purpose
flash-emmc-on-connect.sh Runs rpiboot, detects eMMC, waits for dashboard choice (Backup/Deploy), then runs dd. Install to /opt/cm4-provisioning/.
cm4-flash-trigger.sh Started by udev when USB device 2b8e is added. Launches the flash script via systemd-run. Install to /usr/local/bin/.
90-cm4-boot-mode.rules udev rule: on USB add (vendor 2b8e), run the trigger. Install to /etc/udev/rules.d/.

See ../docs/EMMC-PROVISIONING-GUIDE.md for full setup. The deploy script copies these into place on the Proxmox host and LXC.

Stuck “finalizing: Compressing image (xz)…” on the host

If the dashboard still shows that message, run on the host (e.g. ssh root@10.20.30.152):

# 1) See current status and whether build/xz is still running
PROV="${CM4_PROVISIONING_DIR:-/var/lib/cm4-provisioning}"
cat "$PROV/build_cloudinit_status.json"
ps aux | grep -E 'build-cloudinit|xz.*\.img' | grep -v grep

# 2a) If a build is still running and you want to cancel it
touch "$PROV/build_cloudinit_cancel"
# Script checks every 2s; after it exits, status will show "cancelled"

# 2b) If no build process is running but status is stuck, reset to idle
echo '{"phase":"idle","message":"","output_name":null,"error":null,"updated":'$(date +%s)'}' > "$PROV/build_cloudinit_status.json"

Then refresh the dashboard or click Dismiss to clear the message.