- 安装依赖包
# 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
# CentOS 8不能直接通过yum安装texinfo,help2man,python-docutils。请去官网下载发行的安装包编译安装
# 以texinfo为例
# cd /usr/local/src
# sudo wget http://ftp.gnu.org/gnu/texinfo/texinfo-6.7.tar.gz
# sudo tar zxvf texinfo-6.7.tar.gz
# cd texinfo-6.7
# sudo ./configure
# sudo make
# sudo make install
- 克隆源码
git clone --depth=1 https://github.com/AutoCONFIG/rt-n56u.git
- 准备工具链
cd rt-n56u/toolchain-mipsel
# (推荐)使用脚本下载预编译的工具链:
sh dl_toolchain.sh
# 或者,也可以从源码编译工具链,这需要一些时间:
./clean_toolchain
./build_toolchain
- (可选) 修改机型配置文件
nano rt-n56u/trunk/configs/templates/PSG1218.config
- 开始编译
cd rt-n56u/trunk
# 对于WSL环境,建议使用sudo进行编译,或者使用fakeroot-tcp代替fakeroot
fakeroot ./build_firmware_modify PSG1218
# 脚本第一个参数为路由型号,在trunk/configs/templates/中
# 编译好的固件在trunk/images里
# 首次编译完成后,如果需要再次编译其它固件,需要执行清理脚本:
./clear_tree
- 使用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)