feat: install full qemu-system package instead of qemu-system-arm - #142
Conversation
Replace qemu-system-arm with the qemu-system meta-package to cover additional system emulators (e.g. x86) in addition to arm, and add a corresponding test for qemu-system-x86_64. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Installs the full QEMU system-emulation suite to support additional architectures.
Changes:
- Renamed the QEMU version key.
- Replaced
qemu-system-armwithqemu-system. - Added x86_64 emulator validation.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
versions.yaml |
Renames the QEMU version key. |
install.sh |
Installs the full QEMU system package. |
tests/test_default.sh |
Tests ARM64 and x86_64 emulators. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
lurtz
left a comment
There was a problem hiding this comment.
I prefer to restrict it to arm and x86_64. Actually I play with the thought of removing some stuff from the devcontainer to make it smaller or to provide multiple devcontainer images.
I thought a bigger devcontainer would locally not be a big deal, but having multiple instance of VS Code eats at the moment a lot of RAM. I still have to figure out if it is just VS Code or the devcontainer.
At the moment the devcontainer image is 5GB. Here some details where the space used:
In the S-CORE layer codeql should add at least 1GB. I wonder how widely that is used.
Install only the ARM and x86 QEMU system emulator packages instead of the full meta-package.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Agreed. I updated this PR to install only |
Summary
Replaces the narrower
qemu-system-armpackage with the fullqemu-systemmeta-package in the devcontainer, so additional system emulators (e.g. x86) are available in addition to arm.Why
qemu-systeminstead of a single-arch package (qemu-system-arm/qemu-system-x86)?qemu-systemis an Ubuntu meta-package that pulls inqemu-system-arm,qemu-system-x86,qemu-system-mips,qemu-system-ppc,qemu-system-sparc,qemu-system-s390x, andqemu-system-misc. Developers working on this devcontainer may need to emulate/test targets beyond arm (e.g. x86_64), and picking a single-arch package would mean guessing in advance which architectures will ever be needed and adding a new apt-get line/version pin every time a new target shows up.versions.yaml/install.shinstead of one per architecture, which reduces the amount of places to update when the qemu version changes and avoids version-skew between multiple qemu-system-* packages (they all come from the same source package and share a version).qemu-system-arm.Changes
versions.yaml: renamedqemu_system_armversion key toqemu_systeminstall.sh: installsqemu-systeminstead ofqemu-system-armtests/test_default.sh: validates bothqemu-system-aarch64andqemu-system-x86_64Testing
No local devcontainer build available in this environment; changes follow the existing version-pinning pattern used by other tools in this feature.