一、编译固件需要的代码
https://github.com/chongshengB/Padavan-build
https://github.com/hanwckf/rt-n56u
直接fork两个代码库到自己的仓库中
第一个代码库是云编译padavan的脚本文件
第二个代码库是padavan的源代码仓库
之后的所有操作在fork过来的仓库中进行
二、修改云编译脚本
进入Padavan-build仓库的workflow文件夹里,修改build-padavan.yml
修改clone的仓库地址和路由器型号,路由器型号名称在rt-n56u仓库的/trunk/config/templates中可以找到。
修改clone的仓库地址和路由器型号
删除所有插件配置,所有夹在#######中间的关于自定义插件和功能的代码都删掉
删除所有插件配置1
删除所有插件配置2
删除所有插件配置3
修改完直接commit即可
三、修改机型配置
进入rt-n56u仓库中
定位到/trunk/config/templates,打开自己的路由器型号配置文件,进行修改
自定义padavan配置1
原则上来说所有配置都可以不启用,这样就能得到一个相对纯净的固件,减少路由器运行时的内存占用。有些配置是看机型启用的,比如USB设置,没有USB接口的路由器启用配置之后也无法生效。
定位到/trunk/user/shared/defaults.h文件,进行修改
自定义padavan配置2
在这个文件中可以自定义管理员名称及密码、默认LAN地址、默认WiFi名称及密码、默认NTP服务器等设置。
修改自定义LAN地址时,需要同时修改底下的DHCP地址分配
修改之后的参考代码如下:
#ifndef _defaults_h_
#define _defaults_h_
#include #define SYS_SHELL "/bin/sh"
#define SYS_EXEC_PATH "/usr/sbin:/usr/bin:/sbin:/bin"
#define SYS_EXEC_PATH_OPT "/opt/sbin:/opt/bin:/usr/sbin:/usr/bin:/sbin:/bin"
#define SYS_HOME_PATH_ROOT "/home/admin"
#define SYS_USER_ROOT "admin"
#define SYS_GROUP_ROOT "root"
#define SYS_USER_NOBODY "nobody"
#define SYS_GROUP_NOGROUP "nogroup"
#define DEF_LAN_ADDR "192.168.2.1"
#define DEF_LAN_DHCP_BEG "192.168.2.2"
#define DEF_LAN_DHCP_END "192.168.2.254"
#define DEF_LAN_MASK "255.255.255.0"
#define DEF_WLAN_2G_CC "CN"
#define DEF_WLAN_5G_CC "CN"
#define DEF_WLAN_2G_SSID "R2100-2G"
#define DEF_WLAN_5G_SSID "R2100-5G"
#define DEF_WLAN_2G_GSSID "GUEST-2G"
#define DEF_WLAN_5G_GSSID "GUEST-5G"
#define DEF_WLAN_2G_PSK "xiaomiac2100"
#define DEF_WLAN_5G_PSK "xiaomiac2100"
#define DEF_ROOT_PASSWORD "xiaomiac2100admin"
#define DEF_SMB_WORKGROUP "WORKGROUP"
#define DEF_TIMEZONE "CST-8"
#define DEF_NTP_SERVER0 "ntp.ntsc.ac.cn"
#define DEF_NTP_SERVER1 "time.nist.gov"
#define DEF_HTTPS_CIPH_LIST "DH+AESGCM:DH+AES256:DH+AES:DH+3DES:RSA+AES:RSA+3DES:!ADH:!MD5:!DSS"
#endif
修改完之后commit即可
四、利用GitHub Action编译固件
回到padavan-build仓库,新建一个release
release title和tag可以随便填写,之后push release
新建release
点击仓库中的Action一栏会出现如图的提示
启用workflow
启用即可,点击右上角的star按钮就会进入编译状态,star点击一次即可,再次进入action就能看到正在编译的padavan项目
building padavan 1
整个流程全自动编译,无需人工干预,用时几分钟到十几分钟不等。编译过程不报错的话,生成的padavan固件一般都能稳定运行。
building padavan 2
编译完成之后,点击页面的summary就能找到生成的padavan固件
padavan package
https://www.right.com.cn/forum/thread-1673645-1-1.html
https://my.oschina.net/u/4000302/blog/3038759