Files
JiboExperiments/OpenJibo/docs/device-bootstrap.md

86 lines
2.9 KiB
Markdown
Raw Normal View History

# Device Bootstrap Path
## Supported First Path
The first supported OpenJibo recovery path is:
```text
QR Wi-Fi -> inject OpenJibo region config -> set robot region ->
RCM/device patch -> Azure-hosted OpenJibo cloud
```
This is the path we can document, repeat, and improve.
## Why This Path Comes First
- it matches the region-driven configuration seams observed on the robot
- it keeps the hosted cloud work grounded in real device traffic
- it avoids blocking the entire revival on OTA before cloud compatibility exists
## Bootstrap Checklist
1. Connect the robot to a controlled Wi-Fi network.
2. Add an OpenJibo region entry to `/etc/jibo-jetstream-service.json`.
3. Set the robot `region` field in `/var/jibo/credentials.json` to the OpenJibo region.
4. Gain RCM/device access for targeted TLS or host validation changes.
5. Verify robot startup, token flow, socket flow, and first-turn behavior.
## Region-Driven Configuration
Current findings suggest the preferred OpenJibo bootstrap path is to inject a new region configuration rather than override every hostname manually.
Confirmed paths:
- `/etc/jibo-jetstream-service.json`
Add an OpenJibo region definition that points Jibo to our cloud.
- `/var/jibo/credentials.json`
Set the robot `region` field to the injected OpenJibo region.
Observed additional region-related files worth documenting and auditing:
- `/etc/jibo-ssm/*.json`
- `/skills/jibo/Jibo/Skills/@be/be/node_modules/language-subtag-registry/data/json/registry.json`
- `/skills/jibo/Jibo/Skills/oobe-config/config.json`
These should be treated as configuration discovery targets, not yet as the authoritative complete list.
## Required Hosts
The currently relevant public hostnames for the OpenJibo cloud path are:
- `api.jibo.com`
- `api-socket.jibo.com`
- `neo-hub.jibo.com`
## Scripted Helpers
Bootstrap helper scripts live in [scripts/bootstrap](C:/Projects/JiboExperiments/OpenJibo/scripts/bootstrap):
- `Discover-JiboHosts.ps1`
- `Generate-JiboDnsOverrides.ps1`
- `Test-OpenJiboRouting.ps1`
These are intentionally conservative helpers for discovery and verification, not destructive patch tools. They remain useful for controlled-network testing, even though the preferred long-term device path is region injection.
## TLS And Runtime Patching
Patching requirements will vary by device version and by where certificate validation is enforced.
Near-term guidance:
- record each patch location by software version
- prefer small, repeatable changes over ad hoc edits
- keep a versioned host inventory and patch checklist
- keep a versioned region-config checklist
- do not describe OTA as the primary bootstrap method until the hosted cloud is stable
## Smoke Test Goals
The first real-device smoke test should confirm:
- robot startup reaches the hosted cloud
- token issuance succeeds
- required sockets connect
- the robot can complete one simple turn
- update metadata calls do not break startup