gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1472Shell 176Rust 106Markdown 953592 Sutichaykuna

⎇ 9fe1e010e21199c12896ff156f85884a83f04ce6 recipes/musl.toml TOML · 35 siq'ikuna · 1.5 KB Ñawpa willay ch'uya

musl-shared: el corpus publica su propio CARGADOR — 23 binarios dejan de ser inertes 7e8645973 · Sergio ·

1# musl libc 1.2.5 — libc del target para el userland mínimo del Stage 1 (SDD 11 §3).
2#
3# Se compila estática con `zig cc` cross al target. El artefacto aporta headers + libc.a + los
4# `crt*.o`. Tarball release pinned por sha256: igual de fuerte que un commit git para
5# reproducibilidad (ADR 0006).
6#
7# ⚠ ANTES ESTE COMENTARIO DECÍA «y el loader, para uso dinámico futuro». Era FALSO y costó caro: con
8# `--disable-shared` musl NO construye `libc.so` ni `ld-musl-x86_64.so.1`, así que el corpus no
9# publicaba ningún cargador dinámico y los 23 binarios dinámicos de una imagen quedaban INERTES
10# (SDD 28 §6.4). El loader vive ahora en `recipes/musl-shared.toml`; esta receta sigue siendo
11# estática pura, que es lo que Stage 1 necesita.
12
13name    = "musl"
14version = "1.2.5"
15license = "MIT"
16
17[source]
18tarball = "https://musl.libc.org/releases/musl-1.2.5.tar.gz"
19sha256  = "a9a118bbe84d8764da0ea0d28b3ab3fae8477fc7e4085d90102b8596fc7c75e4"
20
21[build]
22compiler = "zig-cc"
23target   = "x86_64-linux-musl"
24link     = "static"
25
26[deps]
27build = ["make"]
28
29[build.phases]
30# El sandbox exporta CC="zig cc", DESTDIR=/out y PREFIX=/usr. musl trae su propio `configure`.
31# Sólo estático: los componentes Rust se compilan crt-static + no-PIE (autocontenidos, ET_EXEC sin
32# interpreter), así que el rootfs no necesita el loader/shared de musl. Ver runbooks §8.
33configure = "./configure --prefix=/usr --disable-shared --enable-static"
34compile   = "make -j\"$(nproc)\""
35install   = "make install"