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.

Datos de origen

Repositorio
open-edge-platform/edge-node-infrastructure-blueprint
Última actividad en el origen
9 de septiembre de 2026 a las 03:45
Idioma detectado de SKILL.md
inglés
Estrellas
1
Forks
9

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
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.
Ver en GitHub