推荐环境: 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) 环境仅需四步:

  1. 控制面板 -> 程序 -> 启用或关闭Windows功能 -> 勾选”适用于Linux的Windows子系统“,然后重启电脑
    wsl.1
  1. 打开Microsoft应用商店,安装 Ubuntu 18.04 LTS
    wsl.2
  2. 从开始菜单启动 Ubuntu 18.04,设置好用户名和密码
    wsl.3
  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)
  1. 之后按照下面的步骤进行后续操作;
    编译完成后用以下命令将编译好的固件复制到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_StubCode language: HTML, XML (xml)

本文转自:https://www.jianshu.com/p/6b8403cdea46

分类: Linux

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据