Files
nearxos ca27727137 Refactor dashboard to remove network boot support and update related UI elements</message>
<message>Eliminate network boot options from the dashboard, including API endpoints and UI elements, to streamline the provisioning process for USB boot only. Update messages and documentation to reflect the removal of network boot functionality, ensuring clarity for users. Adjust the cloud-init build process and related templates to focus solely on USB boot mode, enhancing the overall user experience and simplifying the workflow.
2026-02-23 11:08:52 +02:00

1.8 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"

The status lives in build_cloudinit_status.json (host: $PROV_DIR/; dashboard: CM4_BUILD_STATUS_FILE or BASE_DIR/). You can refresh the dashboard or click Dismiss to clear the message (Dismiss force-clears even when stuck).