Skip to main content

create-usb-installation-files

Package bootable USB installation artifacts (HookOS, host image, deployment scripts) from a standard Docker build, an ICT image, or a previously built image.

Informations de source

Dépôt
open-edge-platform/edge-node-infrastructure-blueprint
Dernière activité de la source
9 septembre 2026 à 03:45
Langue détectée de SKILL.md
anglais
Étoiles
1
Forks
9

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
create-usb-installation-files
description
Package bootable USB installation artifacts (HookOS, host image, deployment scripts) from a standard Docker build, an ICT image, or a previously built image.
## Trigger Phrases - create usb installation files - build usb-installation-files.tar.gz - package usb artifacts - create bootable usb bundle - build artifacts from ict image - image from tool - image composer - default usb image build - server image build - headless usb image build - server image build - headless usb image build ## Required Inputs - enib_home: absolute path to this repository root (default: current workspace root) - build_mode: `standard-image|server-image|image-from-tool|reuse-image` — infer from user wording; only ask when genuinely ambiguous - `ict_img`: required only for `image-from-tool` mode when no image was produced in the same session; absolute or repo-relative path to `.raw.gz` or `.raw.img.gz` All other paths (`target_template`, `os_image_composer_repo`, etc.) use defaults — never prompt for them unless the user explicitly overrides. ## Preconditions Run all checks silently — report failures only, no prompts: - [ ] `test -d <enib_home> && test -w <enib_home>` - [ ] `test -f <enib_home>/Makefile` - [ ] `test -f <enib_home>/infrastructure/build-artifacts/build-installation-artifacts.sh` - [ ] `docker ps` — if this fails, tell the user to run `sudo usermod -aG docker $USER && newgrp docker` (or use `sudo make build`), then stop - [ ] `docker buildx version` - [ ] `make --version` - [ ] `proxy.env` present at repo root (auto-created by `make`; user can pass `skip-proxy=true` to bypass) - [ ] If `ict_img` was given: `test -f <ict_img>` and extension is `.raw.gz` or `.raw.img.gz` - [ ] **Sudo probe** (before any `sudo` step): `sudo -n true`. If non-zero, stop and tell the user to run `sudo -v`, or add a scoped `NOPASSWD` entry, or fix tty_tickets: `echo 'Defaults timestamp_type=global' | sudo tee /etc/sudoers.d/agent-timestamp && sudo chmod 0440 /etc/sudoers.d/agent-timestamp && sudo visudo -c`. See [AGENTS.md](../../AGENTS.md). ## Steps 1. Collect required inputs and determine flow: - Infer `build_mode` from user wording when possible (`ict`/`image from tool`/`image composer` → `image-from-tool`; `server`/`headless`/`companion`/`uav` → `server-image`; no qualifier or `standard`/`handheld`/`backpack` → `standard-image`). - Ask user to choose mode only if no unambiguous inference is possible. - Once mode is confirmed, collect only inputs required for that mode (do not ask for unrelated inputs). - Flow A (`build_mode=standard-image`): no extra inputs; proceed directly to build. - Flow B (`build_mode=server-image`): no extra inputs; proceed directly to build. - Flow C (`build_mode=image-from-tool`): - If `ict_img` was already provided by the user: use it directly without any reuse or rebuild prompt. - If `ict_img` was NOT provided: probe expected ICT output path, show found image(s) with timestamps, ask one question to reuse or rebuild. - If rebuilding or no image found, and `create_image_first=yes`: run `create-image` skill, then collect artifact path. - Flow D (`build_mode=reuse-image`): no additional inputs; proceed directly to build. 2. If Flow C requires image creation, run `create-image` skill to generate a host image and collect artifact path. 3. Set build command arguments: - `build_mode=standard-image`: `make build` (or `make build MODE=standard-image`) - `build_mode=server-image`: `make build MODE=server-image` - `build_mode=image-from-tool`: `make build MODE=image-from-tool ICT_IMG="<ICT_IMG>"` - `build_mode=reuse-image`: `make build MODE=reuse-image` - To skip proxy: append `skip-proxy=true` to any command above 4. Build USB installation artifacts from repository root: - `cd <enib_home>` - execute selected build command from Step 3 5. Capture generated output path: - `<enib_home>/infrastructure/build-artifacts/out/usb-installation-files.tar.gz` 6. Ask user whether to try the Virtual Edge Node (VEN) deployment script: - `cd <enib_home>/infrastructure/build-artifacts/out` - `sudo tar -xzf usb-installation-files.tar.gz` - `printf 'y\ny\n' | sudo ./ven-deployment.sh` ## Validation - Build command exits with code 0. - Output file exists: - `<enib_home>/infrastructure/build-artifacts/out/usb-installation-files.tar.gz` - Archive contains expected entries: - `bootable-usb-prepare.sh` - `config-file` - `usb-bootable-files.tar.gz` - `ven-deployment.sh` - Validate only top-level archive entries for this skill (do not require inner archive extraction checks). ## Rollback - Remove packaged output if the user requests a cleanup: - `rm -f <enib_home>/infrastructure/build-artifacts/out/usb-installation-files.tar.gz` - Remove intermediate output directory if the user approves: - `rm -rf <enib_home>/infrastructure/build-artifacts/out` - If the image was created in this run and the user wants a cleanup, apply rollback guidance from the `create-image` skill. ## Safety Rules - Ask for `sudo` confirmation only before the following destructive operations: disk wipe, partition table changes, and overwriting output directories. Do not prompt for routine `sudo` use such as `apt install` or read-only commands. - Never infer credentials, certificates, SSH keys, or secrets. - Stop on precondition or validation failure, and provide next-action guidance. - Do not overwrite ICT source template; always copy to working template. ## Expected Result Summary Return: - whether preconditions passed - whether `create-image` was executed - selected build mode and effective command - discovered older image paths and timestamps - whether the user approved the reuse of an older image or requested a rebuild - packaging build status - artifact file names and absolute paths - validation results for archive contents - whether the user opted to run VEN deployment check - troubleshooting hints when build fails (for example, proxy, sudo, or dependency issues) ## Troubleshooting Notes - If `/dev/nbd0` is already attached from a previous run, clean up the stale Network Block Device (NBD) connection before retrying VEN deployment.
Voir sur GitHub