Files
utun2/BUILD_OPENWRT.md
T
evgeny 38c9f229bc stcp: ed25519 pubkey exchange in handshake, fix instance destroy segfault, fix chat_tcp_test
- u_async.c: process immediate_queue BEFORE epoll_wait in uasync_poll
- stcp_link.c: defensive NULL etcp_conn/etcp_link in stcp_link_close
- utun_instance.c: move stcp_server_list_destroy_all to Phase J (before ETCP),
  add deferred drain in both Phase J and L
- stcp.h/c: STCP_HS_ENC_CLIENT 6→38, STCP_HS_ENC_SERVER 7→39,
  exchange ed25519_pubkey in both handshake directions
- etcp_connections.c: copy peer_ed25519 from STCP to ETCP_CONN in
  etcp_link_enter_ready_tcp; guard link->etcp in tcp_link_close_cb
- chat_sync.c: fix lk->conn NULL dereference for TCP links
- test_stcp.c: update stcp_server_create/stcp_client_connect callsites
- tools/chat_tcp_test: change transport udp→tcp
2026-08-07 00:48:27 +03:00

55 lines
1.9 KiB
Markdown

# Сборка uTun под OpenWRT
## Быстрый старт
```bash
cd ~/utun2
./build_openwrt.sh # ASUS RT-AX53U (по умолчанию)
```
Первый запуск соберёт toolchain (30-120 минут), последующие — только пакет.
## Другие платформы
```bash
./build_openwrt.sh ramips/mt7621 asus_rt-ax54 # ASUS RT-AX54
./build_openwrt.sh ramips/mt7621 xiaomi_mi-router-4a-gigabit
./build_openwrt.sh ath79/generic tplink_archer-c7-v2
./build_openwrt.sh x86/64 # x86_64 PC
./build_openwrt.sh --list # список целей
```
## Ручная сборка (menuconfig)
```bash
cd /home/user/openwrt
make menuconfig # Target System → MediaTek Ralink MIPS
# Subtarget → MT7621 based boards
# Target Profile → ASUS RT-AX53U
# Network → utun (M)
make -j$(nproc) # полная сборка прошивки
# или только пакет:
make package/utun2/compile -j$(nproc) V=s
```
Пакет: `bin/packages/*/base/utun_*.ipk`
## Структура
- `~/openwrt/package/utun2/Makefile` — OpenWRT-пакет
- `~/openwrt/` — клон buildroot (main, https://github.com/openwrt/openwrt)
- `~/utun2/build_openwrt.sh` — скрипт сборки
## Зависимости (host)
```bash
apt-get install -y build-essential git subversion libncurses-dev \
libssl-dev ccache xsltproc gawk gettext unzip python3 libtool
```
## Примечания
- `configure` генерируется через `autoreconf -fi` (уже сделан)
- Пакет использует `USE_SOURCE_DIR` — билд из /home/user/utun2 напрямую
- Для чистой пересборки: `make package/utun2/clean && make package/utun2/compile -j$(nproc)`