为使用国产SF19A2890芯片的gl-sft1200路由器编译第三方固件
因为要在寝室里使用,选来选去最终购买了sft1200这款路由器,看重了它的小巧不占空间以及开放源码。
本次编译使用vmware虚拟机,操作系统为ubuntu20.04。
编译固件
首先下载第三方固件源码
1 | git clone https://github.com/Big7ng/openwrt-sf-sft1200.git |
进入openwrt目录
1 | cd openwrt-18.06 |
更新feeds
1 | ./scripts/feeds update -a&& ./scripts/feeds install -a |
根据所使用的路由器型号选择配置文件
1 | cp .config.sf1200 .config #如果使用sf路由器则 cp .config.sf1200 .config |
配置所需要的luci-app以及luci-theme
1 | make menuconfig |
依次点击LuCI->Applications\Themes,然后选择需要编译安装的应用,我这里选择安装了Openclash以及argon主题。


下载编译所需工具,n
为使用处理器数量
1 | make -jn download |
使用官方SDK时,下载时会出现xxd工具无法下载的问题,具体的原因为源码配置的连接类型为http,而该网站之后拒绝了http请求,导致无法下载,我们只需要将原url中的http改为https即可。
编译完成后,打开./bin/targets/siflower
文件夹,将immortalwrt-siflower-sf19a28-fullmask-glinet_gl-sft1200-squashfs-factory.img
文件保存起来为后续烧录使用。
烧录固件
如果现在路由器上使用的是官方固件,那么可以打开管理页面进行Web升级,如果路由器上使用的是第三方固件,那么只能使用uboot刷入,如下所示:
断开电源,将路由器lan口与电脑连接,按住路由器重置键不放,打开电源,路由器灯闪五下后变成白灯,此时将本机ip改为192.168.1.0网段,然后浏览器输入192.168.1.1进入uboot界面,选择之前编译好的固件。


烧入固件成功后,连接名为Openwrt的WIFI,连接成功后进入192.168.1.1管理界面,初始账号为root,密码为passwd。

使用感悟
矽昌Siflower的SF19A2890使用了MIPS架构,但对该架构进行了修改,导致无法使用已经编译过的MIPS二进制程序,而需要特定工具链进行编译。Openclash提供的MIPS架构clash内核无法在路由器上使用,需要自行编译,待后续有时间再进行了解,目前就先用一下Passwall吧。
不过Clash的界面做的真心可以,不管是CFW、clash网页界面还是Openclash,都比其它工具好看,导致我更喜欢用clash。
参考: