Skip to content

GENERIC_X64 / VM (QEMU+VirtualBox) build for local QA — clean up & land x64-build-fix #16

Description

@maxengel

Goal

A GENERIC_X64 build that boots in a VM (QEMU + VirtualBox) so contributors can QA
features (e.g. the native EmulationStation work, #15, and cloud-sync) in a VM instead of
flashing to a device
. A true x86_64 hardware build is a nice-to-have, not the priority.

Status — most of the work already exists (but is stale)

On origin/x64-build-fix:

  • Boots GENERIC_X64 on QEMU and VirtualBox (commit ce40175c96 "first booting build…"),
    plus installer support (dbacdefbb2), DMI/quirks, systemd/mesa/llvm/qt6/dbus fixes, and
    QEMU/VirtualBox test scripts.
  • Planning lives in plans/x64_build_target/ (x64_build_target_plan.md + _checklist.md).

Staleness / footprint:

  • Branch tip 2025-10-22; merge-base with upstream/next is 2025-08-18.
  • upstream/next is ~2,465 commits ahead of that merge-base.
  • ~108 substantive files changed (the rest is qemu-*.log, test_*.sh, CLAUDE.md,
    and old shared-copilot-knowledge churn — all noise to drop).

Proposed approach

Re-derive (don't straight-rebase) onto a fresh feature/generic-x64 off current next:

  1. Validate the existing branch still builds + boots in QEMU as a baseline (Docker:
    make docker-GENERIC_X64).
  2. Port the ~108 substantive changes group-by-group (device options, scripts/mkimage/
    image/build_distro, package.mk fixes), dropping logs/test-script noise.
  3. Add a short contributor doc: "build + boot ROCKNIX in QEMU/VirtualBox for QA".
  4. Validate other arches (aarch64) still build (no regressions), then open an upstream PR.

Host is build-ready (Docker 29.6.1, ~800 GB free).

Open question

When to do this — it's a multi-hour-build, multi-day spike. Likely best timed as the
QA-enabling precursor to the ES native work (#15). Tracking here; timing TBD.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions