Replaces the binary compressed-rom check with store_raw_worth_it(),
which decides per environment: store the naked binary on $BINDIR (0 RAM)
only when $TMPDIR is tmpfs AND $BINDIR can hold it with margin
(estimated ~2:1 on squashfs/ubifs, full size otherwise). Otherwise keep
a compressed copy and decompress to tmp as before. core_webget skips
the upx core when raw storage is viable, fetching tar.gz instead.
Rationale (rough budgets for a ~40M core): raw on squashfs ~15M rom /
0 RAM; gz 10M rom / ~40M RAM; upx 9M rom / ~40M RAM (memfd). Raw wins
when rom has room; compressed wins when rom is the scarce resource.
Also corrects the upx branch symlink target $TMPDIR -> $BINDIR (#1295).
For #1304
Adds store_on_rom() helper (tmpfs $TMPDIR + squashfs/ubifs/overlay
$BINDIR). On such devices core_webget no longer downloads the upx core
(its stub decompresses into a memfd = RAM at runtime); it fetches the
tar.gz instead and core_check stores the naked binary as
$BINDIR/CrashCore.raw, symlinked from $TMPDIR. The binary is
transparently compressed on rom and file-backed/reclaimable at runtime
(RssShmem 0). Other filesystems and explicit upx keep prior behavior.
Also corrects the upx branch symlink target $TMPDIR -> $BINDIR (same
dangling-symlink issue as #1295).
For #1304
On OpenWrt $TMPDIR is tmpfs (RAM) and $BINDIR sits on a
transparently-compressed fs (squashfs/ubifs). Unpacking the core to
$TMPDIR pins the whole ~40MB binary in unreclaimable Shmem, and a
compressed copy is still kept on rom - paying twice.
When $TMPDIR is tmpfs and $BINDIR is squashfs/ubifs/overlay, store the
verified naked binary as $BINDIR/CrashCore.raw and symlink
$TMPDIR/CrashCore to it, dropping the downloaded archive. The binary is
transparently compressed on rom (~2.2:1, comparable to keeping .gz) and
its text/rodata become file-backed and reclaimable at runtime
(RssShmem 0). Other filesystems keep the existing behavior.
The upx branch's symlink target is also corrected from $TMPDIR to
$BINDIR (same dangling-symlink issue as #1295).
For #1304
```
iptables v1.8.10 (nf_tables): too many ports specified
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.8.10 (nf_tables): too many ports specified
Try `iptables -h' or 'iptables --help' for more information.
```
iptables放行端口添加过多导致溢出