<!-- Revision: 2 -->
# reTerminal DM4

Project for **reTerminal DM4** (Seeed) with CM4: Chromium kiosk, eMMC provisioning (USB + network boot), and first-boot configuration via cloud-init.

## Revisions

A single **revision number** is kept in `REVISION` and in a comment line in tracked files (`# Revision: N` or `<!-- Revision: N -->`) so you can see what changed across hosts and deploys.

- **Bump revision (update all files):** from repo root run  
  `./emmc-provisioning/scripts/bump-revision.sh`
- **Auto-bump on every commit:** install the pre-commit hook  
  `cp emmc-provisioning/scripts/pre-commit-revision.sh .git/hooks/pre-commit && chmod +x .git/hooks/pre-commit`  
  Then every commit will bump the revision and update the revision line in all tracked files.

## Repository structure

| Path | Purpose |
|------|---------|
| **emmc-provisioning/** | **Main workflow:** eMMC deploy/backup, cloud-init first-boot, Chromium kiosk assets, file server, dashboard, network boot. See [emmc-provisioning/README.md](emmc-provisioning/README.md). |
| **archive/** | Legacy or unused files (guides, old scripts). Not used for deployment. See [archive/README.md](archive/README.md). |

## Quick start

1. Read **emmc-provisioning/docs/EMMC-PROVISIONING-GUIDE.md** for full setup.
2. Use **emmc-provisioning/scripts/sync-portal-files-to-lxc.sh** to sync first-boot assets (including kiosk) to the file server.
3. Provision devices via USB boot or network boot; first-boot configures kiosk, labwc, rotation, wallpaper, dark theme, and optional CM4 boot order.
