- ИНСТРУКЦИЯ ПО СБОРКЕ ПРОШИВКИ *
- Для сборки прошивки требуется Linux окружение 32 или 64 бита. Сборка прошивки протестирована и рекомендуется на Linux дистрибутивах Ubuntu 16.04.1 LTS и Debian 8.5.
- Первым делом необходимо собрать кросс-toolchain (набор для кросс-компиляции) под MIPS32_R2 CPU, состоящий из пакетов binutils-2.24, gcc-447, uclibc-0.9.33.2. Перейти в директорию toolchain-mipsel и выполнить скрипт сборки. Сборка кросс-toolchain занимает от 10 до минут до нескольких часов, в зависимости от типа CPU хоста. Если кросс-toolchain уже собран, этот пункт пропускается.
- Отредактировать вручную файл ".config" в корне дерева. Для комментирования строк используется символ #. Если требуется отключить параметр, не следует менять y на n, необходимо закомментировать строку целиком. Изменить параметр "CONFIG_TOOLCHAIN_DIR=" на актуальный путь до директории с кросс-toolchain.
- Собрать прошивку, запустив скрипт "build_firmware". Сборка прошивки может занимать от 20 минут до нескольких часов. После сборки файл образа прошивки (*.trx) будет находиться в директории images.
Установка необходимых пакетов:
# Debian/Ubuntu
sudo apt update
sudo apt install unzip libtool-bin curl cmake gperf gawk flex bison nano xxd \
fakeroot kmod cpio git python3-docutils gettext automake autopoint \
texinfo build-essential help2man pkg-config zlib1g-dev libgmp3-dev \
libmpc-dev libmpfr-dev libncurses5-dev libltdl-dev wget libc-dev-bin
# Archlinux/Manjaro
sudo pacman -Syu --needed git base-devel cmake gperf ncurses libmpc \
gmp python-docutils vim rpcsvc-proto fakeroot cpio help2man
# Alpine
sudo apk add make gcc g++ cpio curl wget nano xxd kmod \
pkgconfig rpcgen fakeroot ncurses bash patch \
bsd-compat-headers python2 python3 zlib-dev \
automake gettext gettext-dev autoconf bison \
flex coreutils cmake git libtool gawk sudo
# CentOS 7
sudo yum update
sudo yum groupinstall "Development Tools"
sudo yum install ncurses-* flex byacc bison zlib-* texinfo gmp-* mpfr-* gettext \
libtool* libmpc-* gettext-* python-docutils nano help2man fakeroot
# CentOS 8
sudo yum update
sudo yum groupinstall "Development Tools"
sudo yum install ncurses-* flex byacc bison zlib-* gmp-* mpfr-* gettext \
libtool* libmpc-* gettext-* nano fakeroot
Сборка прошивки Сборка займёт от получаса до нескольких часов в зависимости от мощности ПК. Собранные тулчейн и прошивка займут до 4ГБ дискового пространства.
Компиляция тулчейна:
cd /rt-n56u/toolchain-mipsel
sudo ./clean_toolchain
sudo ./build_toolchain
Конфигурирование прошивки Файл конфигурации прошивки лежит в /rt-n56u/trunk/.config. Отредактируйте его по своему усмотрению или возьмите готовый шаблон из /rt-n56u/trunk/configs/templates/. В примере ниже для сборки берётся шаблон для сборки n11p_nano:
cd /rt-n56u/trunk
sudo cp configs/templates/n11p_nano.config .config
Компиляция прошивки
cd /rt-n56u/trunk
sudo ./clear_tree
sudo ./build_firmware
Если сборка пройдёт успешно, то образ собранной прошивки можно будет найти в папке /rt-n56u/trunk/images.
При обновлении исходных кодов прошивки в дереве сборки необходимо выполнить:
sudo git stash
sudo git pull
После чего сконфигурировать и скопмпилировать прошивку по новой.
https://github.com/gorden5566/padavan https://www.jianshu.com/p/d76a63a12eae
- 使用gorden5566的汉化字典
- aria2前端更换为AriaNg
- curl可选编译可执行程序
CONFIG_FIRMWARE_INCLUDE_CURL
- 使用了PROMETHEUS提供的部分补丁
- 使用了Linaro1985/padavan-ng的部分软件包
- 可选以下插件:
- scutclient
CONFIG_FIRMWARE_INCLUDE_SCUTCLIENT
- gdut-drcom
CONFIG_FIRMWARE_INCLUDE_GDUT_DRCOM
- dogcom
CONFIG_FIRMWARE_INCLUDE_DOGCOM
- minieap
CONFIG_FIRMWARE_INCLUDE_MINIEAP
- njit-client
CONFIG_FIRMWARE_INCLUDE_NJIT_CLIENT
- napt66
CONFIG_FIRMWARE_INCLUDE_NAPT66
- softether-vpnserver
CONFIG_FIRMWARE_INCLUDE_SOFTETHERVPN_SERVER
- softether-vpnclient
CONFIG_FIRMWARE_INCLUDE_SOFTETHERVPN_CLIENT
- softether-vpncmd
CONFIG_FIRMWARE_INCLUDE_SOFTETHERVPN_CMD
- vlmcsd
CONFIG_FIRMWARE_INCLUDE_VLMCSD
- ttyd
CONFIG_FIRMWARE_INCLUDE_TTYD
- lrzsz
CONFIG_FIRMWARE_INCLUDE_LRZSZ
- htop
CONFIG_FIRMWARE_INCLUDE_HTOP
- nano
CONFIG_FIRMWARE_INCLUDE_NANO
- iperf3
CONFIG_FIRMWARE_INCLUDE_IPERF3
- dump1090
CONFIG_FIRMWARE_INCLUDE_DUMP1090
- rtl-sdr
CONFIG_FIRMWARE_INCLUDE_RTL_SDR
- samba3.6
CONFIG_FIRMWARE_INCLUDE_SMBD36
- mtr
CONFIG_FIRMWARE_INCLUDE_MTR
- socat
CONFIG_FIRMWARE_INCLUDE_SOCAT
- srelay
CONFIG_FIRMWARE_INCLUDE_SRELAY
- 3proxy
CONFIG_FIRMWARE_INCLUDE_3PROXY
- mentohust
CONFIG_FIRMWARE_INCLUDE_MENTOHUST
- frpc
CONFIG_FIRMWARE_INCLUDE_FRPC
- frps
CONFIG_FIRMWARE_INCLUDE_FRPS
- tunsafe
CONFIG_FIRMWARE_INCLUDE_TUNSAFE
- wireguard-go
CONFIG_FIRMWARE_INCLUDE_WIREGUARD
- smartdns
CONFIG_FIRMWARE_INCLUDE_SMARTDNS
- PSG1208
- PSG1218
- 5K-W20 (USB)
- OYE-001 (USB)
- NEWIFI-MINI (USB)
- MI-MINI (USB)
- MI-3 (USB)
- MI-3C
- MI-4
- MI-R3G (USB)
- MI-R4A
- MI-R3P (USB)
- HC5661A
- HC5761A (USB)
- HC5861B
- 360P2 (USB)
- MI-NANO
- MZ-R13
- MZ-R13P
- RT-AC1200GU (USB)
- XY-C1 (USB)
- WR1200JS (USB)
- NEWIFI3 (USB)
- B70 (USB)
- A3004NS (USB)
- K2P
- K2P-USB (USB)
- JCG-836PRO (USB)
- JCG-AC860M (USB)
- DIR-882 (USB)
- DIR-878
- MR2600 (USB)
- WDR7300
- RM2100
- CR660x (CR6606, CR6608, CR6609)
- R2100
- JCG-Y2 (USB)
- E8820V2 (USB)
- ZTE_E8820S (USB)
- MSG1500 (USB)
- R6220 (USB)
- NETGEAR-CHJ (R6260, R6350, R6850, WAC124)
- NETGEAR-BZV (R6800, R6700-v2, R7200, Nighthawk AC2400)