# Skill: Payload-Deploy (Dateien auf den TV) Kein Package Manager (kein apt/opkg/…). Binaries/Skripte kommen als **statische ARM-Binaries** (ARMv7, glibc 2.18, Kernel 3.18) auf den TV. ## Wege | Weg | Für | Beispiel | |---|---|---| | `File.download` | Binär (byte-exakt) | `HiBrowser.File.download("http://:9000/pub/x","x",1)` | | `File.write` | Text (Skripte/JSON) | `HiBrowser.File.write("x.sh","id\n",1)` | | Root-Loop | als root ausführen | `root_cmd.sh` → `root_out.txt` | | SSH + base64 | Binär | `base64 -w0 x \| ssh root@TV 'base64 -d > /3rd_rw/bin/x'` | | SSH + tar | viele Dateien | `tar czf - d \| ssh root@TV 'tar xzf - -C /3rd_rw'` | | USB | Dateien auf ext4-Stick | `/mnt/usb/` | | scp/sftp | nach SFTP-Install | `scp f root@TV:/3rd_rw/...` | ## Regeln - rw-Partitionen: `/3rd_rw`, `/data`, `/perm`. Rootfs & `/3rd` sind squashfs-**ro** → ro-Dateien via `mount --bind` aus `/3rd_rw` ersetzen (kein overlayfs). - `File.download`-Ziel muss in der Whitelist liegen oder Symlink-Bypass nutzen (siehe `fileapi-permissions.md`). - Builds reproduzierbar: `../root/scripts/host/build_dropbear.sh`, `build_sftp_server.sh`, `build_payload.sh`; Checks `sha256sum -c SHA256SUMS`. Siehe: `../modding/06-toolchain-deploy.md`, `../modding/01-system-linux.md`.