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 1428Shell 142Markdown 86Rust 842937 Definitions

⎇ 7d36e12edf7edd3ff511e6c9f0095b3be6deb40a recipes/wpa_supplicant.toml TOML · 44 lines · 1.6 KB History raw

Etapa metal: stack de red WiFi — libnl + wpa_supplicant (pieza 3) 3aec59ea4 · sergio ·

1# wpa_supplicant 2.11 — supplicant WPA2 para asociar el WiFi del medio live al AP (kernel metal).
2#
3# El handshake WPA2 de 4 vías lo hace un supplicant en userspace; busybox NO lo trae. Habla con iwlwifi
4# vía el driver nl80211 (netlink), que enlaza libnl-3/libnl-genl-3 (recipes/libnl.toml). DHCP lo da
5# udhcpc de busybox (ya en el producto) una vez asociada la interfaz.
6#
7# Crypto: CONFIG_TLS=internal ⇒ NO depende de openssl (suficiente para WPA2-PSK, el WiFi de casa). Para
8# WPA-Enterprise/EAP-TLS habría que pasar a CONFIG_TLS=openssl + dep openssl. Sólo medio live en metal.
9#
10# wpa_supplicant usa un build propio: un `.config` con CONFIG_* en el subdir wpa_supplicant/, luego make.
11# Los binarios (wpa_supplicant/wpa_cli/wpa_passphrase) se copian a /usr/sbin (no `make install`).
12
13name    = "wpa_supplicant"
14version = "2.11"
15
16[source]
17tarball = "https://w1.fi/releases/wpa_supplicant-2.11.tar.gz"
18sha256  = "912ea06f74e30a8e36fbb68064d6cdff218d8d591db0fc5d75dee6c81ac7fc0a"
19
20[build]
21compiler = "zig-cc"
22target   = "x86_64-linux-musl"
23link     = "static"
24
25[deps]
26build = ["libnl"]
27
28[build.phases]
29configure = '''
30cat > wpa_supplicant/.config <<'EOF'
31CONFIG_DRIVER_NL80211=y
32CONFIG_LIBNL32=y
33CONFIG_CTRL_IFACE=y
34CONFIG_CTRL_IFACE_UNIX=y
35CONFIG_BACKEND=file
36CONFIG_TLS=internal
37CONFIG_INTERNAL_LIBTOMMATH=y
38CONFIG_INTERNAL_LIBTOMMATH_FAST=y
39CONFIG_IEEE8021X_EAPOL=y
40CONFIG_PEERKEY=y
41EOF
42'''
43compile = "cd wpa_supplicant && make -j\"$(nproc)\" wpa_supplicant wpa_cli wpa_passphrase"
44install = "mkdir -p /out/usr/sbin && cd wpa_supplicant && cp wpa_supplicant wpa_cli wpa_passphrase /out/usr/sbin/"