28 lines
1.3 KiB
Markdown
28 lines
1.3 KiB
Markdown
# 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://<host>: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/<dev>` |
|
|
| 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`.
|