Skip to content

Building the DuDuClaw OS image

Moved (2026-09). The OS image is no longer built from this repository. The Yocto layer, the release pipeline, and the frozen Debian/mkosi appliance recipe that this page used to describe all live in the standalone DuDuClaw-OS repo. This page stays as the stable entry point from the platform docs and tells you where to go.

DuDuClaw OS is the bootable image that turns a small x86-64 PC into a headless DuDuClaw box (see the appliance feature overview for what the finished product looks like from a user’s side). The platform repo you are reading holds the Rust workspace that the OS vendors as a trimmed snapshot; the OS itself has its own repo, its own release line, and its own changelog.


Two routes:

  • Download a signed release. Each release on DuDuClaw-OS Releases publishes, per machine, a whole-disk image (duduclaw-os-<machine>-v<ver>.wic.zst) and a live installer ISO (duduclaw-os-installer-<machine>-v<ver>.iso), each with a .sha256 and a minisign .minisig. Verify before flashing; the public key and the exact commands are in that repo’s README (“快速開始” / “Quick start”) and SECURITY.md.
  • Build from source. Clone DuDuClaw-OS next to this repo and follow its README (“從原始碼建置” / “Build from source”) and meta-duduclaw/README.md (“Usage”): a Docker builder container, kas build, and the scripts/release-os.sh build → smoke → package → publish pipeline. A sibling checkout of this platform repo is needed only to refresh the vendored Rust snapshot.

The shipping image is duduclaw-image-appliance from the meta-duduclaw/ Yocto layer (Yocto 6.0 “wrynose”, kernel 6.18) — the desktop edition: an A/B dual-slot layout with atomic update and rollback, a read-only root, DuDuClaw’s own desktop (compositor + shell) with the gateway + dashboard, preloaded apps, and the app compatibility layer. Secure Boot signing, dm-verity root verification and TPM2 key sealing exist in the layer as build-time overlays (kas/sb-signing.yml, kas/tpm-luks.yml) but are not enabled in the v0.1.0 artifacts, which boot with Secure Boot off. The v0.1.0 installer ISO writes the base image duduclaw-image-ab (same layout and desktop shell, without the app layer); a desktop-edition installer ISO (duduclaw-os-installer-desktop-…) was added to v0.1.0 on 2026-09-04. Two machines are defined: duduclaw-qemux86-64 (QEMU bring-up target, boot-verified) and duduclaw-genericx86-64 (real x86-64 hardware, config-audited; a real hardware boot is still the open validation item). The per-image roles and the partition/boot chain are documented in the OS repo, not duplicated here.

The appliance/ recipe this page originally documented (Debian 13 + mkosi, self-installing USB image) is frozen: it is kept under appliance/ in the DuDuClaw-OS repo as a reference and transition artifact, is not shipped, and does not receive fixes. Its own README there still carries the full boot sequence and open points for anyone reading the history.