diff --git a/docs/arje-boot.md b/docs/arje-boot.md index 7b19906..61bc5a6 100644 --- a/docs/arje-boot.md +++ b/docs/arje-boot.md @@ -235,6 +235,7 @@ de implementar como `Capability::SwitchRoot`. | ----------------------------- | ----------------------------------------------------- | | `seeds/arje-minimal.card.json` | PID 1 + 1 shell `/bin/sh`. Smoke test para QEMU. | | `seeds/arje-prod.card.json` | Constelación completa: 14 compat shims + getty. | +| `seeds/arje-host.card.json` | Boot en hardware real: mount/swap/dbus/red/sshd + **carmen-dm** (`mirada-compositor --greeter`) como entrada gráfica. | ### 5b. Validación diff --git a/seeds/arje-host.card.json b/seeds/arje-host.card.json index ffa001d..82e399e 100644 --- a/seeds/arje-host.card.json +++ b/seeds/arje-host.card.json @@ -232,16 +232,22 @@ }, { "schema_version": 1, - "id": "01J8YVKZH0M0M0M0M0M0M0M0G1", - "label": "getty-tty1", + "id": "01J8YVKZH0M0M0M0M0M0M0M0CM", + "label": "carmen-dm", "provides": [], "requires": [], "permissions": { "networking": "none", "filesystem": "read-write", "ipc": { "allow": [] }, "processes": true }, "soma": { "namespaces": {"mount":false,"pid":false,"net":false,"uts":false,"ipc":false,"user":false,"cgroup":false}, "rlimits": {"mem_bytes":null,"nproc":null,"nofile":null}, - "cgroup": {"path":"ente.slice/getty","cpu_weight":null,"io_weight":null}, + "cgroup": {"path":"ente.slice/carmen","cpu_weight":null,"io_weight":null}, "cpu_affinity": null }, - "payload": { "Native": { "exec": "/sbin/agetty", "argv": ["--noclear", "tty1", "linux"], "envp": [] } }, - "supervision": { "Restart": { "initial": 100, "max": 30000 } }, + "payload": { "Native": { + "exec": "/usr/bin/mirada-compositor", + "argv": ["--greeter", "--drm"], + "envp": [ ["PATH", "/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin"], + ["XDG_RUNTIME_DIR", "/run"], + ["MIRADA_GREETER_BIN", "/usr/bin/mirada-greeter"] ] + } }, + "supervision": { "Restart": { "initial": 2000, "max": 60000 } }, "lifecycle": "daemon", "priority": "high", "flow": { "input": [], "output": [] }, "genesis": [] } diff --git a/seeds/validate.sh b/seeds/validate.sh index 4615098..dcdaa1d 100755 --- a/seeds/validate.sh +++ b/seeds/validate.sh @@ -3,7 +3,7 @@ # Uso: seeds/validate.sh seeds/arje-prod.card.json # # Método: copiamos la Card como `seed.card.json` en un cwd vacío y corremos -# ente-zero en dev-mode 4 s. Si carga, valida, e instancia genesis, la +# arje-zero en dev-mode 4 s. Si carga, valida, e instancia genesis, la # Card es estructuralmente correcta — los binarios de los hijos pueden # faltar en el host (vivirán en /usr/sbin del initrd). @@ -17,11 +17,11 @@ fi SEED="$(realpath "$1")" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" REPO_DIR="$(cd "$SCRIPT_DIR/.." && pwd)" -BIN="$REPO_DIR/target/release/ente-zero" +BIN="$REPO_DIR/target/release/arje-zero" if [ ! -x "$BIN" ]; then - echo "[validate] compilando ente-zero (release)…" - (cd "$REPO_DIR" && cargo build --quiet --release -p ente-zero) + echo "[validate] compilando arje-zero (release)…" + (cd "$REPO_DIR" && cargo build --quiet --release -p arje-zero) fi SCRATCH="$(mktemp -d -t arje-validate.XXXXXX)" @@ -29,7 +29,7 @@ trap 'rm -rf "$SCRATCH"' EXIT cp "$SEED" "$SCRATCH/seed.card.json" cd "$SCRATCH" -LOG="$SCRATCH/ente-zero.log" +LOG="$SCRATCH/arje-zero.log" # `timeout` retorna 124 al matar el proceso (dev-mode termina solo a los 4 s # de todas formas). Aceptamos cualquier exit code aquí; lo que importa es lo