10 changed files with 37 additions and 16 deletions
@ -1,25 +1,40 @@ |
|||||
# Final frontend and backend builds |
# Final device builds |
||||
|
|
||||
Release: `20260909-startup-retry-1` (2026-09-09) |
Release: `20260909-full-readiness-default-port-1` |
||||
Target: Linux ARM64 |
Target: Linux ARM64 (RK3568) |
||||
|
UI: **http://192.168.0.223/** — HTTP port **80**. |
||||
|
|
||||
| Component | Binary | Install path | |
## Replacement device install mapping |
||||
|
|
||||
|
| Release file | Installed path | Existing init service | |
||||
| --- | --- | --- | |
| --- | --- | --- | |
||||
| Frontend | `frontend/tera-clone-demo-web` | `/usr/bin/tera-clone-demo-web` | |
| `frontend/tera-clone-demo-web` | `/usr/bin/tera-clone-demo-web` | `S61teraweb` | |
||||
| Backend | `backend/tera-clone-demo-api` | `/usr/bin/tera-clone-demo-api` | |
| `backend/tera-clone-demo-api` | `/usr/bin/tera-api` | `S50tera-api` | |
||||
|
| `backend/tera-timed` | `/usr/bin/tera-timed` | `S45tera-timed` | |
||||
|
| `backend/tera-clone-demo-alarmd` | `/usr/bin/tera-alarmd` | `S47tera-alarmd` | |
||||
|
| `backend/tera-seriald` | `/usr/bin/tera-seriald` | `S40tera-seriald` | |
||||
|
| `backend/tera-logd` | `/usr/bin/tera-logd` | `S44tera-logd` | |
||||
|
| `backend/tera-sessiond` | `/usr/bin/tera-sessiond` | `S55tera-sessiond` | |
||||
|
| `backend/tera-netd` | `/usr/bin/tera-netd` | `S43tera-netd` | |
||||
|
|
||||
|
The API/alarm release filenames retain the clone-demo naming; this replacement device uses the standard API/alarm install paths above. Install all eight compatible binaries together with mode 0755. Verify `sha256sum -c SHA256SUMS` before installation. Back up installed binaries and stop services before replacement. |
||||
|
|
||||
|
Preserve `/etc/tera/teraweb.env`: `PORT=80`, API upstream `http://127.0.0.1:8082`, session upstream `http://127.0.0.1:8081`. Keep the existing `S61teraweb` service. Do not install the previous device's port-8083 web environment or duplicate API services. Device configuration, accounts, private keys and serial mapping are not included in this release. |
||||
|
|
||||
|
## Readiness |
||||
|
|
||||
Both binaries were deployed together to 192.168.0.223. Installed hashes matched SHA256SUMS. Readiness returned 7/7 completed stages, ready=true, and elapsed_ms=1593 during an API service restart. CAPTCHA PNG issuance and the updated login script were verified. This was not a cold-boot timing test. |
Login remains blocked until all 12 startup stages finish: settings restore, TLS, SNMP, management access, serial configuration, service health, time/NTP settings, network settings, notification/authentication policies, log retention, fresh port observations, and port services. The UI uses neutral “설정 중…” wording and the normal progress color throughout initialization, including retries. Progress and elapsed time remain visible; delayed stages cannot be counted as complete. Detailed startup errors remain in device logs. |
||||
|
|
||||
Login is enabled only after required configuration and service checks succeed. Errors are actually retried with a three-second pause; after 25 seconds an unfinished stage is shown as delayed. Calls never overlap if a device operation stops responding. Delayed stages still block login and automatically recover on success. Detailed errors remain in API logs. The progress bar represents completed stages, not estimated remaining time. |
The login page synchronizes an uninitialized device clock from the PC before login. Factory certificates created before year 2000 are reissued after clock recovery, retaining their key and subject. User certificates and normally dated expired certificates are not automatically replaced. |
||||
|
|
||||
The CAPTCHA area explains the wait while startup is pending. The actual challenge is issued only after readiness and enabled-policy confirmation, avoiding expiry during startup. Existing firmware progress and login security remain included. Serial capture configuration is batched below the control socket request-size limit. |
External NTP/SMTP/authentication availability is separate from local settings application. No-response serial ports may complete observation; every port is not required to be connected. Kernel drivers are unchanged. |
||||
|
|
||||
IMPORTANT: During validation the device clock was 1970-01-01, causing TLS certificate validity errors and repeated initialization attempts. The device system clock was synchronized to the host's current UTC time before successful validation. Persistence of time across power loss/RTC/NTP remains unverified. Retry does not fix an incorrect clock or the previously observed WCH kernel RCU/IRQ fault. |
## Validation |
||||
|
|
||||
Install both files together with mode 0755; an older API lacks the readiness endpoint required by this frontend. Verify with `sha256sum -c SHA256SUMS`. |
Backend startup/API, matched session-service protocol, TLS bootstrap recovery, time service, serial, network, log service/storage and policy tests passed. Frontend login/readiness tests and 10 JavaScript login tests passed. Linux ARM64 builds completed. This release does not claim a cold-boot timing test or full 48-channel traffic validation. |
||||
|
|
||||
Validation: backend startup/API tests, frontend login/readiness tests, 9 JavaScript login tests, and Linux ARM64 builds passed. The broader frontend handler suite has previously observed unrelated asset-version expectation failures. No full firmware flash or complete 48-channel traffic test was performed. |
Replacement-device deployment verified at http://192.168.0.223/ on 2026-09-09: `ready=true`, `completed=12`, `total=12`, `elapsed_ms=34470`. All eight installed SHA256 values matched this manifest. The default-port page served the neutral progress wording and updated cache version. CAPTCHA remains disabled according to this device's existing policy. Login-before-ready and clock bootstrap were validated; no account login credentials were changed. |
||||
|
|
||||
Device rollback backup: `/userdata/tera-backups/login-ready-20260909-101038` (api and web). |
Rollback backup: `/userdata/tera-backups/replacement-default-port-20260909-112729`. The measured 34.47 seconds includes serial-service restart and its initial observation delay; it is not a full power-cycle measurement. |
||||
|
|
||||
This is a binary-only release; source changes, runtime data, credentials and private keys are not included. It requires the existing compatible device services and configuration. |
Binary-only release. Unrelated workspace source changes and runtime files are excluded. |
||||
|
|||||
@ -1,2 +1,8 @@ |
|||||
dddce7bcdad3f95fdde9b7315f9390689e6722f75c37cf307a41709b7367388c frontend/tera-clone-demo-web |
2b7001dd33ad07c9a1886712926384e065c0c09c0715873f30b107969bc23eb9 frontend/tera-clone-demo-web |
||||
db8c305bbdc6671be61b23deb45ace931b7e1f8ee758eff5ea62ded0abc1fb9b backend/tera-clone-demo-api |
ef466f00788868617d8528a10ee597e2119ca6965eb81ed5e5e89bfc8a87536f backend/tera-clone-demo-api |
||||
|
d0babd9ae746bc4b7ec5931d66ddae0ad0782df0703256160c7233fbdea169a1 backend/tera-timed |
||||
|
4f6c0e76b6fc158521adbf028aa57c0d3d0ac1ea3aea02ea62ed45bf065be859 backend/tera-clone-demo-alarmd |
||||
|
c86983a2921efd0f038821b707915679324d94402301c4bbe8d264fb29dfaaf4 backend/tera-seriald |
||||
|
b905d8662088a69ab3ade775a5847426346f536f67cb4ed352a46d56b9c9d9d4 backend/tera-logd |
||||
|
0df3697104ebdb8bfb1d8b0869a175789fedd8bda50f41b3395dcbd7d77dfcef backend/tera-netd |
||||
|
34f1755b54a562d988ef5f922c101ab10af9f7a246fb604478595651449ee3f1 backend/tera-sessiond |
||||
|
|||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue