推荐环境: Ubuntu 16 / Ubuntu 18 / wsl (Ubuntu 18) / Debian 9 / Arch Linux
经过测试,Padavan固件的编译可在Windows 10 的 wsl (Ubuntu 18.04) 环境中进行(受限于IO性能,编译速度有点慢),推荐没有安装Linux的同学使用此方法进行编译,可以省去装系统的麻烦,但是要注意C盘必须留有足够大的剩余空间(15G+)以容纳wsl
在 Windows 10 部署 wsl (Ubuntu 18.04) 环境仅需四步:
- 控制面板 -> 程序 -> 启用或关闭Windows功能 -> 勾选”适用于Linux的Windows子系统“,然后重启电脑
wsl.1
- 打开Microsoft应用商店,安装 Ubuntu 18.04 LTS
wsl.2 - 从开始菜单启动 Ubuntu 18.04,设置好用户名和密码
wsl.3 - 在shell里依次执行以下命令:更换成国内镜像源并更新所有软件包,同时把/opt目录权限修改成777(执行sudo命令需要输入上一步里设置好的密码)
sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/' /etc/apt/sources.list
sudo sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/' /etc/apt/sources.list
sudo apt update
sudo apt upgrade
sudo chmod 777 /opt
Code language: PHP (php)
- 之后按照下面的步骤进行后续操作;
编译完成后用以下命令将编译好的固件复制到C盘根目录:
cp -f /opt/rt-n56u/trunk/images/*.trx /mnt/c
安装依赖包
对于deb系 (debian/ubuntu):
sudo apt-get update
sudo apt-get install unzip libtool curl cmake gperf gawk flex bison nano \
git python-docutils gettext automake autopoint texinfo build-essential libtool-bin \
pkg-config zlib1g-dev libgmp3-dev libmpc-dev libmpfr-dev libncurses5-dev libltdl-dev
Code language: JavaScript (javascript)
对于pacman系 (ArchLinux/manjaro):
sudo pacman -Syu --needed git base-devel cmake gperf ncurses libmpc gmp python-docutils
克隆源码
git clone --depth=1 https://gitee.com/hanwckf/rt-n56u.git /opt/rt-n56u
#git clone --depth=1 https://github.com/hanwckf/rt-n56u.git /opt/rt-n56u
Code language: PHP (php)
编译工具链 (仅需编译一次!)
cd /opt/rt-n56u/toolchain-mipsel
./clean_sources
./build_toolchain_3.4.x
(可选)修改机型配置文件
nano /opt/rt-n56u/trunk/configs/templates/PSG1218.config
如果需要启用或者关闭某项功能,就将对应的项目赋值成y或者n,或者在其前面加上#
注释符,每个项目的具体说明请参考README.md,例如:
#CONFIG_FIRMWARE_CPU_600MHZ=y #表示不将mt7620超频到600Mhz
CONFIG_APPLY_PROMETHEUS_WIFI_DRIVER_PATCH=n #表示不使用PROMETHEUS的wifi驱动补丁
CONFIG_FIRMWARE_INCLUDE_SCUTCLIENT=y #表示包含scutclient
CONFIG_FIRMWARE_INCLUDE_RTL_SDR=n #代表不包含rtl-sdr
Code language: PHP (php)
清理代码树并开始编译
cd /opt/rt-n56u/trunk
sudo ./clear_tree
sudo ./build_firmware_modify PSG1218
#脚本第一个参数为路由型号,当前支持的所有型号在trunk/configs/templates/里面
Code language: PHP (php)
编译好的.trx固件在trunk/images里,可直接在breed里刷入;在Padavan固件里也可以直接从webui更新固件,或者手动将固件上传到路由器中然后用以下命令刷入:
mtd_write -r write <trx文件路径> Firmware_Stub
#例如:mtd_write -r write /tmp/PSG1218_3.4.3.9-099.trx Firmware_Stub
Code language: HTML, XML (xml)
本文转自:https://www.jianshu.com/p/6b8403cdea46
0 条评论