zhangguanzhang 发表于 2022-5-29 13:34:34

sft1200 的固件编译经验分享

本帖最后由 zhangguanzhang 于 2022-6-4 10:39 编辑

编译折腾得差不多了,懒得继续折腾了,看到了不少小白都想自己编译,但是遇到很多错误,这里分享下我的经验

推荐ubuntu 20.04的非 root 用户编译,最好会 Linux 和 shell 基础,os 最好全局代理纵云梯,或者软路由是网关下,因为编译期间会拉取 github 的源码。下面操作都是 ubuntu 安装完的 非 root 带 sudo 权限的用户下去执行,wsl的话推荐 wsl2


cd ~
sudo sed -ri 's/(ports|deb|security|archive).(debian.org|ubuntu.com)/mirrors.aliyun.com/g' /etc/apt/sources.list

sudo apt-get -qq update

export DEBIAN_FRONTEND=noninteractive
sudo apt-get -qq install python3-markdown $(curl -fsSL git.io/depends-ubuntu-2004) zstd upx jq

git clone https://github.com/gl-inet/gl-infra-builder.git
cd gl-infra-builder

git config --global user.email "zhangguanzhang@qq.com"
git config --global user.name "zhangguanzhang"

python3 setup.py -c config-siflower-18.x.yml
cd openwrt-18.06/siflower/openwrt-18.06/
./scripts/gen_config.py target_siflower_gl-sft1200

上面的是前期工作,代码目录没删除就不用后续每次都执行,后续要记得进入目录 `cd ~/gl-infra-builder/openwrt-18.06/siflower/openwrt-18.06/` 目录里操作


然后编译之前,先修改一些东西,目前 openwrt 18.06 里很多东西会有问题,需要我们在编译之前hack 下。

sft1200 的编译步骤我已经弄到了 GitHub 上编译了,这个hack的步骤参考下面的shell里

https://github.com/zhangguanzhan ... ft1200/diy-part2.sh

然后可以make menuconfig 自己去勾选或者取消包,然后编译

make -j$(nproc) || make -j1 || make -j1 V=s


编译的固件会在 `bin/target/` 内,你可以自己添加插件目录,然后后续再 make menuconfig 后再上面命令编译。

你添加其他插件,可能会触发新的依赖(特别是例如hostpkg相关)编译,会遇到新的错误,错误自己多谷歌下,基本都能搜到的,上面我的hack修改都备注了相关的 issue 地址的。如果你是很折腾的人,可以从上述信息里找到我的联系方式,可以来询问我,帖子里我不会回复了。


各位fork我仓库编译的,有错误的直接我仓库去提 issue,留下出错的action url,我会去看的



olochi 发表于 2022-5-29 13:53:39

兄弟你把你的账号密码。。。删除了啊

zhangguanzhang 发表于 2022-5-29 15:58:31

olochi 发表于 2022-5-29 13:53
兄弟你把你的账号密码。。。删除了啊
不是账号和密码,是git checkout之前的必须给 git 配置一个用户名和邮箱

olochi 发表于 2022-5-29 19:40:29

这个库里面的19.07,楼主试了么?有问题么?

zhangguanzhang 发表于 2022-5-29 19:42:05

本帖最后由 zhangguanzhang 于 2022-5-29 19:44 编辑

olochi 发表于 2022-5-29 19:40
这个库里面的19.07,楼主试了么?有问题么?
sft1200我准备不折腾了,而且我看官方的固件试基于18.06的代码的,你折腾的话可以自己试下19的看看

萝卜大侠 发表于 2022-5-29 21:19:29

zhangguanzhang 发表于 2022-5-29 15:58
不是账号和密码,是git checkout之前的必须给 git 配置一个用户名和邮箱

用ssh就不要配

olochi 发表于 2022-5-29 21:43:11

楼主你好,我一般是win下做开发的,linux下没怎么弄过,就会一些粗浅的知识

想请教下,diy-part2.sh这个该怎么用啊

olochi 发表于 2022-5-29 22:47:49

用./scripts/gen_config.py target_siflower_gl-sft1200,就报错。。。

ERROR: please fix package/feeds/telephony/freeswitch/Makefile - see logs/package/feeds/telephony/freeswitch/dump.txt for details
ERROR: please fix package/feeds/telephony/freeswitch-stable/Makefile - see logs/package/feeds/telephony/freeswitch-stable/dump.txt for details
Collecting package info: done
WARNING: Makefile 'package/feeds/gl/openvswitch/Makefile' has a dependency on 'kmod-nsh', which does not exist
WARNING: Makefile 'package/kernel/reset-button/Makefile' has a dependency on 'kernel', which does not exist


用openwrt官方的make的命令,就正常编译

zhangguanzhang 发表于 2022-5-30 00:08:03

olochi 发表于 2022-5-29 21:43
楼主你好,我一般是win下做开发的,linux下没怎么弄过,就会一些粗浅的知识

想请教下,diy-part2.sh这个该 ...

在目录里 复制粘贴就行了。。。

zhangguanzhang 发表于 2022-5-30 00:08:37

olochi 发表于 2022-5-29 22:47
用./scripts/gen_config.py target_siflower_gl-sft1200,就报错。。。

ERROR: please fix package/feeds/ ...

freeswitch 这个不用管,后面俩用不到忽略
页: [1] 2 3
查看完整版本: sft1200 的固件编译经验分享