Etapa G: 4 init helpers de arje — userland de arranque (61→65)
Pueblo el userland de ARRANQUE real del distro con los helpers del init arje (hermanos de arje-zero PID 1), patrón Cargo commit 9967b02c --locked estático: - arje-getty-stub: agetty mínimo (ciclo de vida del login). - arje-net-bring-up: oneshot que sube el enlace de la primera interfaz (corre: eth0 up). - arje-installer: copia kernel+initramfs+seed a una ESP / arma USB GPT booteable. - arje-absorb: traduce la config de otro init a una Semilla brahman (migración a arje). Los 4 construyen+corren estáticos, publicados al repo firmado (65 paquetes). GOTCHA recetas Cargo con lib+bin: arje-installer tiene [lib]+[[bin]]; el lab hace 'cargo rustc -p X -- <crt-static>' y cargo exige UN solo target tras '--' => agregar '--bin <name>' a flags. arje-loader DESCARTADO: bootloader EFI (no_std, target uefi), no static-musl userland.
Semantic delta
No definition changed: this change is text, documentation or data.
4 files · +80 −0
- recipes/arje-absorb.toml +19 −0
- recipes/arje-getty-stub.toml +19 −0
- recipes/arje-installer.toml +23 −0
- recipes/arje-net-bring-up.toml +19 −0
diff --git a/recipes/arje-absorb.toml b/recipes/arje-absorb.toml
new file mode 100644
index 00000000..c208ceb2
--- /dev/null
+++ b/recipes/arje-absorb.toml
@@ -0,0 +1,19 @@
+# arje-absorb — traduce la configuración de OTRO init a una Semilla de arje (tawasuyu). Etapa G:
+# poblar el userland de ARRANQUE real del distro (helpers del init arje; útil para migrar a arje).
+#
+# Receta Cargo (patrón arje-zero/dominium-cli): source = monorepo tawasuyu a commit fijado 9967b02c
+# (Cargo.lock committeado => build --locked reproducible), `-p arje-absorb`, estático zig-cc.
+# bin==package. Deps livianas (card-core+anyhow). Comparte el commit con arje-zero => reusa el árbol.
+
+name = "arje-absorb"
+version = "0.0.1"
+
+[source]
+repo = "gitea@git.tawasuyu.net:tawasuyu/tawasuyu.git"
+commit = "9967b02cf597df6d065edbad8d6669b5653d4928"
+
+[build]
+compiler = "zig-cc"
+target = "x86_64-linux-musl"
+link = "static"
+flags = ["-p", "arje-absorb"]
diff --git a/recipes/arje-getty-stub.toml b/recipes/arje-getty-stub.toml
new file mode 100644
index 00000000..73c7c2fb
--- /dev/null
+++ b/recipes/arje-getty-stub.toml
@@ -0,0 +1,19 @@
+# arje-getty-stub — agetty mínimo para validar el ciclo de vida del login bajo arje (tawasuyu).
+# Etapa G: poblar el userland de ARRANQUE real del distro (helpers del init arje, hermanos de arje-zero).
+#
+# Receta Cargo (patrón arje-zero/dominium-cli): source = monorepo tawasuyu a commit fijado 9967b02c
+# (Cargo.lock committeado => build --locked reproducible), `-p arje-getty-stub`, estático zig-cc.
+# bin==package. Sin deps externas. Comparte el commit con arje-zero => reusa el árbol fuente fetcheado.
+
+name = "arje-getty-stub"
+version = "0.0.1"
+
+[source]
+repo = "gitea@git.tawasuyu.net:tawasuyu/tawasuyu.git"
+commit = "9967b02cf597df6d065edbad8d6669b5653d4928"
+
+[build]
+compiler = "zig-cc"
+target = "x86_64-linux-musl"
+link = "static"
+flags = ["-p", "arje-getty-stub"]
diff --git a/recipes/arje-installer.toml b/recipes/arje-installer.toml
new file mode 100644
index 00000000..4c1de2f2
--- /dev/null
+++ b/recipes/arje-installer.toml
@@ -0,0 +1,23 @@
+# arje-installer — CLI instalador del fractal arje (dos subcomandos) del monorepo tawasuyu.
+# Etapa G: poblar el userland de ARRANQUE real del distro (helpers del init arje).
+#
+# Receta Cargo (patrón arje-zero/dominium-cli): source = monorepo tawasuyu a commit fijado 9967b02c
+# (Cargo.lock committeado => build --locked reproducible), `-p arje-installer`, estático zig-cc.
+# bin==package. Deps livianas (arje-card/arje-packager/anyhow/serde_json/tempfile, sin C externo).
+# Comparte el commit con arje-zero => reusa el árbol fuente fetcheado.
+#
+# `--bin arje-installer`: el paquete tiene lib + bin; el lab hace `cargo rustc -p … -- <crt-static>` y
+# `cargo rustc` con flags tras `--` exige UN solo target ⇒ seleccionamos el bin explícitamente.
+
+name = "arje-installer"
+version = "0.0.1"
+
+[source]
+repo = "gitea@git.tawasuyu.net:tawasuyu/tawasuyu.git"
+commit = "9967b02cf597df6d065edbad8d6669b5653d4928"
+
+[build]
+compiler = "zig-cc"
+target = "x86_64-linux-musl"
+link = "static"
+flags = ["-p", "arje-installer", "--bin", "arje-installer"]
diff --git a/recipes/arje-net-bring-up.toml b/recipes/arje-net-bring-up.toml
new file mode 100644
index 00000000..26c1ef03
--- /dev/null
+++ b/recipes/arje-net-bring-up.toml
@@ -0,0 +1,19 @@
+# arje-net-bring-up — Ente oneshot que sube el enlace de la primera interfaz de red bajo arje
+# (tawasuyu). Etapa G: poblar el userland de ARRANQUE real del distro (helpers del init arje).
+#
+# Receta Cargo (patrón arje-zero/dominium-cli): source = monorepo tawasuyu a commit fijado 9967b02c
+# (Cargo.lock committeado => build --locked reproducible), `-p arje-net-bring-up`, estático zig-cc.
+# bin==package. Deps livianas (libc+anyhow). Comparte el commit con arje-zero => reusa el árbol fuente.
+
+name = "arje-net-bring-up"
+version = "0.0.1"
+
+[source]
+repo = "gitea@git.tawasuyu.net:tawasuyu/tawasuyu.git"
+commit = "9967b02cf597df6d065edbad8d6669b5653d4928"
+
+[build]
+compiler = "zig-cc"
+target = "x86_64-linux-musl"
+link = "static"
+flags = ["-p", "arje-net-bring-up"]