Repository navigation
feat(build): construir la ISO con mkarchiso en Docker y probar arranque UEFI - #185
Merged
Merged
Conversation
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: 7a777d5b-0525-4b46-b456-52e935877fd2) |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: cd86d906-6c7e-4248-b791-fc1ce69472b1) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Objetivo
F1: construir la ISO de Forge con
mkarchisosiempre dentro de Docker (nunca en el host, nunca con pkexec/sudo) y probar que arranca en QEMU con OVMF (UEFI).Cambios
docker/archiso.Dockerfile:archlinuxfijado por digest (sha256:52dfbd5afb23a220d5ee92dafcb4c788d96c026ed04179890c23adef4c897fa0) conarchiso.scripts/build-iso.sh: variante mínima (--cap-add SYS_ADMIN, apparmor/seccomp unconfined), overlay:ro, volumen anónimo para/work, salida explícita (por defectotarget/iso), allowlist de rutas, append de paquetes al perfil base ySHA256SUMS.scripts/boot-test.sh: arranque QEMU+OVMF por serial con timeout; falla si no se observa login..github/workflows/iso.yml: job de humo (baseline+--serial-console, qemu-system-x86/ovmf).ADR-0021(construcción en Docker) con evidencia medida;ADR-0004marcadosuperseded; actualizadosdependsOnen ADR-0019, análisis de riesgos del runner eiso-scope.md.Evidencia medida (2026-10-25)
isolinux.biny UEFI de 64 MiB).archlinux login:en 50 s.--privilegedni dispositivos de loop explícitos.bootmodesdebe listarbios.syslinuxantes deuefi.systemd-boot; con UEFI primero,mkarchisopierde la entrada El Torito UEFI.Verificación
cargo fmt --all;cargo clippy --workspace --all-targets -- -D warnings;cargo test --workspace(todo verde);archify24/24; front matter 145 documentos OK.Trazabilidad
FR-EXPORT-001, NFR-SEC-001, NFR-DET-001; ADR-0021; ADR-0004 superseded.
Tareas para Alejandro
Ninguna en este PR.
Note
Medium Risk
ISO builds run in Docker with SYS_ADMIN and relaxed AppArmor/seccomp; ADR-0004 is superseded, shifting the documented privilege model for image construction.
Overview
Forge ISO builds move off the host and into a pinned Docker image:
scripts/build-iso.shapplies an allowlisted overlay to an archiso base profile and runsmkarchisoin a container (minimal caps, read-only overlay,SHA256SUMS), with optional--serial-consolefor CI.scripts/boot-test.shboots the artifact under QEMU+OVMF and fails on timeout.A new
isoGitHub Actions workflow runs a smoke path (baselineoverlay fixture → build → UEFI boot).profiledef.shgeneration now listsbios.syslinuxbeforeuefi.systemd-bootso El Torito UEFI entries are not dropped; a pinned smoke overlay fixture andarchiso_smoke_overlay_fixture_matches_renderguard drift.ADR-0021 records Docker-only construction and supersedes ADR-0004 (privileged runner); related ADRs and traceability inventory are updated accordingly.
Reviewed by Cursor Bugbot for commit f65ed35. Configure here.