- 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
55 lines
1.9 KiB
Markdown
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)`
|