老毛子Padavan固件编译笔记

固件说明

  • 默认登陆IP:192.168.2.1

  • 默认用户名/密码:admin/admin

  • 默认wifi密码:1234567890

  • 集成/取消新增插件请修改此文件: trunk/build_firmware_modify

  • 已适配除官方适配外的以下机型

  • MI-R3P(感谢群里emmmm适配,可能led控制有点问题,其它功能正常)
  • 京东云路由(文件来自Lintel) 编译代码: JDC-1
  • 歌华链(感谢群里Heaven适配与测试)编译代码: GHL
  • NEWIFI-D1
  • B70(感谢Untitled提供荒野无灯的适配文件)
  • JCG-AC856M(感谢群里的旅途中的我适配和测试,gpio值还未完全适配,但不影响使用)
  • JCG-AC836M(感谢群里的碧霄客修改和测试)
  • YK-L1(L1、L1C、L1W通刷)
  • PSG712
  • PSG1208
  • PSG1218
  • 5K-W20 (USB)
  • OYE-001 (USB)
  • NEWIFI-MINI (USB)
  • MI-MINI (USB)
  • MI-3 (USB)
  • MI-R3G (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
  • R2100

本地编译

  • 安装依赖包
# Debian/Ubuntu
sudo apt update
sudo apt install unzip libtool-bin curl cmake gperf gawk flex bison nano xxd fakeroot \
cpio git python-docutils gettext automake autopoint texinfo build-essential help2man \
pkg-config zlib1g-dev libgmp3-dev libmpc-dev libmpfr-dev libncurses5-dev libltdl-dev wget
​
# CentOS 7
sudo yum update
sudo yum install ncurses-* flex byacc bison zlib-* texinfo gmp-* mpfr-* gettext \
libtool* libmpc-* gettext-* python-docutils nano help2man fakeroot
sudo yum groupinstall "Development Tools"
​
# CentOS 8
sudo yum update
sudo yum install ncurses-* flex byacc bison zlib-* gmp-* mpfr-* gettext \
libtool* libmpc-* gettext-* nano fakeroot
sudo yum groupinstall "Development Tools"
# 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
​
# Archlinux/Manjaro
sudo pacman -Syu --needed git base-devel cmake gperf ncurses libmpc gmp python-docutils \
vim rpcsvc-proto fakeroot
  • 克隆源码

sudo git clone --depth=1 https://github.com/chongshengB/rt-n56u.git /opt/rt-n56u

  • 准备工具链
cd /opt/rt-n56u/toolchain-mipsel
​
# (推荐)使用脚本下载预编译的工具链:
sudo sh dl_toolchain.sh
​
# 或者,也可以从源码编译工具链,这需要一些时间:
# Manjaro/ArchLinux 用户请使用gcc-8
# sudo pacman -S gcc8
# sudo ln -sf /usr/bin/gcc-8 /usr/local/bin/gcc
# sudo ln -sf /usr/bin/g++-8 /usr/local/bin/g++

sudo ./clean_toolchain
sudo ./build_toolchain
  • (可选) 自定义插件
cd /opt/rt-n56u/trunk
sudo nano build_firmware_modify      #用nano编辑build_firmware_modify文件
#将下图中的插件自定义修改y/n,y是编译,n是不编译,修改好之后,Ctrl+O保存,Ctrl+X退出
2020-08-28 14-01-44.png
  • (可选) 修改机型配置文件
# cd /opt/rt-n56u/trunk/configs/templates/  #进入此路径
# ls  #查看所有型号路由器的配置文件
nano /opt/rt-n56u/trunk/configs/templates/RM2100.config    #RM2100.config为红米AC2100路由器
# 根据自身情况。自行修改对应的配置文件(可选)
  • 清理代码树并开始编译
cd /opt/rt-n56u/trunk
sudo ./clear_tree
sudo fakeroot ./build_firmware_modify RM2100  #RM2100就是对应型号路由器的配置文件名
# 脚本第一个参数为路由型号,在trunk/configs/templates/中
# 编译好的固件在trunk/images里

云编译

以C大的padavan自编译项目

地址:https://github.com/chongshengB/Padavan-build

说明:现在不需要新建Release了,已经更改了脚本,直接fork,修改好之后,点击右上角的 Star 星星按钮即可开始自动编译(自己点击才会编译)。

首先你得有个github账号(此处省略怎么注册)

  1. 浏览器进入https://github.com/chongshengB/Padavan-build

  2. 点击右上的Fork,就把这个项目Fork到自己的账号下了

200622_141025
  1. 然后会自动进入自己账号刚刚Fork的项目,点击.guthub/workflows
    200622_141540
  2. 进入到Padavan-build/.github/workflows/,点击build-padavan.yml
    200622_141725
  3. 可以看到build-padavan.yml文件的内容了,点击右上的图标,进入编辑状态

    200622_142046

  4. 根据第一行的提示内容,找到TNAME: K2P-5.0,把K2P-5.0改成你要编译的型号(比如红米AC2100对应的是RM2100

    修改前
    修改后
  • 说明:怎么看不同机器的型号

    • 找到git clone --depth=1 https://github.com/chongshengB/rt-n56u.git /opt/rt-n56u这一行

    • 浏览器打开中间的网址(https://开头.git结尾)https://github.com/chongshengB/rt-n56u.git

    • 依次进入rt-n56u/trunk/configs/templates,这里面就是所支持编译的所有机器型号(例如360P2.config文件,对应的机器型号是360路由器P2,红米AC2100就是RM2100.config,上面修改TNAME时,不需要.config后缀)

    200622_144540
  1. 自定义插件,具体看解释,很简单
 sed -i 's/CONFIG_FIRMWARE_INCLUDE_OPENSSL_EXE=n/CONFIG_FIRMWARE_INCLUDE_OPENSSL_EXE=y/g' .config
 ################################################################################################
 #因不同型号配置功能不一样,所以先把配置项删除,如果你自己要添加其他的,也要写上删除这一条,切记!!!
 ################################################################################################
 sed -i '/CONFIG_FIRMWARE_INCLUDE_MENTOHUST/d' .config #删除配置项MENTOHUST
 sed -i '/CONFIG_FIRMWARE_INCLUDE_SCUTCLIENT/d' .config #删除配置项SCUTCLIENT
 sed -i '/CONFIG_FIRMWARE_INCLUDE_SHADOWSOCKS/d' .config #删除配置项SS plus+
 sed -i '/CONFIG_FIRMWARE_INCLUDE_SSSERVER/d' .config #删除配置项SS server
 sed -i '/CONFIG_FIRMWARE_INCLUDE_DNSFORWARDER/d' .config #删除配置项DNSFORWARDER
 sed -i '/CONFIG_FIRMWARE_INCLUDE_ADBYBY/d' .config #删除配置项adbyby plus+
 sed -i '/CONFIG_FIRMWARE_INCLUDE_FRPC/d' .config #删除配置项内网穿透FRPC
 sed -i '/CONFIG_FIRMWARE_INCLUDE_FRPS/d' .config #删除配置项内网穿透FRPS
 sed -i '/CONFIG_FIRMWARE_INCLUDE_TUNSAFE/d' .config #删除配置项TUNSAFE
 sed -i '/CONFIG_FIRMWARE_INCLUDE_ALIDDNS/d' .config #删除配置项阿里DDNS
 sed -i '/CONFIG_FIRMWARE_INCLUDE_V2RAY/d' .config #删除配置项v2ray
 sed -i '/CONFIG_FIRMWARE_INCLUDE_TROJAN/d' .config #删除配置项trojan
 sed -i '/CONFIG_FIRMWARE_INCLUDE_WYYBIN/d' .config #删除配置项网易云解锁GO版本
 sed -i '/CONFIG_FIRMWARE_INCLUDE_ZEROTIER/d' .config #删除配置项zerotier
 sed -i '/CONFIG_FIRMWARE_INCLUDE_SMARTDNS/d' .config
 sed -i '/CONFIG_FIRMWARE_INCLUDE_SRELAY/d' .config
 sed -i 's/CONFIG_FIRMWARE_INCLUDE_OPENSSL_EXE=n/CONFIG_FIRMWARE_INCLUDE_OPENSSL_EXE=y/g' .config
 ######################################################################
 #以下选项是定义你需要的功能(y=集成,n=忽略),重新写入到.config文件
 ######################################################################
 echo "CONFIG_FIRMWARE_INCLUDE_MENTOHUST=n" >> .config #MENTOHUST
 echo "CONFIG_FIRMWARE_INCLUDE_SCUTCLIENT=n" >> .config #SCUTCLIENT
 echo "CONFIG_FIRMWARE_INCLUDE_SHADOWSOCKS=y" >> .config #SS plus+
 echo "CONFIG_FIRMWARE_INCLUDE_SSOBFS=n" >> .config # simple-obfs混淆插件
 echo "CONFIG_FIRMWARE_INCLUDE_SSSERVER=n" >> .config #SS server
 echo "CONFIG_FIRMWARE_INCLUDE_DNSFORWARDER=n" >> .config #DNSFORWARDER
 echo "CONFIG_FIRMWARE_INCLUDE_ADBYBY=y" >> .config #adbyby plus+
 echo "CONFIG_FIRMWARE_INCLUDE_FRPC=n" >> .config #内网穿透FRPC
 echo "CONFIG_FIRMWARE_INCLUDE_FRPS=n" >> .config #内网穿透FRPS
 echo "CONFIG_FIRMWARE_INCLUDE_TUNSAFE=n" >> .config #TUNSAFE
 echo "CONFIG_FIRMWARE_INCLUDE_ALIDDNS=y" >> .config #阿里DDNS
 echo "CONFIG_FIRMWARE_INCLUDE_SMARTDNS=y" >> .config #smartdns
 echo "CONFIG_FIRMWARE_INCLUDE_SMARTDNSBIN=y" >> .config #smartdns二进制文件
 echo "CONFIG_FIRMWARE_INCLUDE_V2RAY=y" >> .config #集成v2ray执行文件(3.8M左右),如果不集成,会从网上下载下来执行,不影响正常使用
 echo "CONFIG_FIRMWARE_INCLUDE_TROJAN=y" >> .config #集成trojan执行文件(1.1M左右),如果不集成,会从网上下载下来执行,不影响正常使用
 echo "CONFIG_FIRMWARE_INCLUDE_KOOLPROXY=y" >> .config #KP广告过滤
 echo "CONFIG_FIRMWARE_INCLUDE_CADDY=y" >> .config #在线文件管理服务
 echo "CONFIG_FIRMWARE_INCLUDE_CADDYBIN=n" >> .config #集成caddu执行文件(13M左右),如果不集成,会从网上下载下来执行,不影响正常使用
 echo "CONFIG_FIRMWARE_INCLUDE_ADGUARDHOME=y" >> .config
 echo "CONFIG_FIRMWARE_INCLUDE_SRELAY=n" >> .config #可以不集成
 echo "CONFIG_FIRMWARE_INCLUDE_WYY=y" >> .config #网易云解锁
 echo "CONFIG_FIRMWARE_INCLUDE_WYYBIN=y" >> .config #网易云解锁GO版本执行文件(4M多)注意固件超大小,不集成会自动下载
 echo "CONFIG_FIRMWARE_INCLUDE_ZEROTIER=y" >> .config #zerotier ~1.3M
 #########################################################################################
 #自定义添加其它功能请参考源码configs/templates/目录下的config文件。按照上面的格式添加即可
 #格式如下:
 #sed -i '/自定义项/d' .config
 #echo "自定义项=y" >> .config
 #########################################################################################
  1. 修改完成之后,点击右上的Start commit,跳出小窗口点击Commit changes

    200622_145845

  2. 提交之后,再点击右上的Star,然后在点击Action

    200622_150236
  3. 第一次云编译需要点击 I understand myworkflows , go ahead and enable them

200622_151131
  1. 如果还没有编译,在次点击两次Star,让五角星变成黑色填充(文字变成Unstar),刷新网址,就可以看到在编译了
200622_150505
  1. 大概等20分钟左右,就会编译完成,期间不用管,可以干点其他事情,完成之后(用时21分27秒),点击Build Padavan
200622_155503
  1. 点击Padavan-packages下载到本地,解压后得到的固件就是刚刚编译的,之后就是刷机了
200622_155756

参考
https://github.com/chongshengB/Padavan-build
https://github.com/chongshengB/rt-n56u

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345