Skip to content

Quickstart

Start with x64 under QEMU. It boots the complete current system through UEFI Secure Boot, systemd-boot and a signed kernel package. virt-arm64 uses the same flow with ARM64 artifacts. Physical cx3576 qualification is a separate step.

Use Docker with buildx, Bash, Make and git. Compilers, signing tools and filesystem makers run in the pinned build containers. The Bun orchestration drivers also support a pinned container. There is no hosted public image download.

status: shipped — evidence: docs/design/build.md, mica-build:build-env-image.lock

Follow the component build sequence: build the package pool and BSP kernel, compile native init, compose root, package kernel/support and firmware, sign two deployment records, and assemble a new factory image. Supply separate boot/content/metadata signing inputs explicitly. Public factory defaults are a separate root-composition input. Missing inputs fail; builds do not generate keys or convert an existing system implicitly.

终端窗口
MICA_BUILD_PLATFORM=linux/amd64 bash mica-build-env:build.sh
make os-deb-preflight
# See the build guide for the component inputs and architecture-specific steps.
bash build/run.sh --components --help

The resulting disk.img has ESP, SYSTEM and DATA. Keep its signed deployment records, public metadata keys, public boot certificate and component directories with the test evidence. Every test starts from a complete current image.

status: shipped — evidence: mica-build:build/src/component-cli.ts, docs/design/build.md

终端窗口
MICA_PRODUCT=x64-dev bash mica-build:tests/apid-api/run.sh

The harness copies the image, seeds its DATA test service units and enrolls throwaway Secure Boot variables. It boots through firmware and exercises the HTTPS API. It requires explicit image and certificate paths. Use --dry-run with the same inputs to check prerequisites without starting the guest.

For isolated offline DATA fixtures, tools/qemu-seed-data.ts accepts bounded regular files below /state and explicitly enabled seeded service units. Run it only on a disposable image before boot; its CLI prints the accepted arguments.

status: shipped — evidence: mica-core:tests/apid-api/run.sh, mica-build:tools/qemu-seed-data.ts

The first boot creates a machine identity on DATA before services start. micad initializes its device identity and configuration, wired interfaces use DHCP, and apid serves HTTPS. The UI at /_ui/ guides administrator setup. SSH is off by default. See first run and configuration.

status: shipped — evidence: mica-deploy:src/bin/mica-init.rs, docs/design/provisioning.md, mica-core:apid/openapi.json