forum.gl-inet.cn

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 120924|回复: 207

【03.21更新】怎样快速编译出带glinet页面的固件

  [复制链接]

77

主题

2144

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10312

官方人员

发表于 2022-7-6 12:46:48 | 显示全部楼层 |阅读模式
一直有朋友想在固件中加入自己的东西,同时保留GLINET的UI界面,昨天肝了一天,论坛帖子都没来得及回,终于实现了大家这个诉求。
目前AX1800, AXT1800,MT2500,A1300,MT3000支持集成GLINET的4.x固件,下面是编译及集成步骤(编译环境ubuntu 20.4)
熟悉glinet源码环境的小伙伴特别注意,请仔细核对每一个步骤,以下步骤和之前常规的编译步骤有细微差别

1. 依赖环境安装
  1. sudo apt install build-essential libncurses5-dev gawk git libssl-dev gettext zlib1g-dev swig unzip time rsync python3 python3-setuptools python3-yaml
复制代码
如果编译环境没有git账户配置,请执行以下命令配置自己的邮箱和用户名
  1. git config --global user.email 'youremail.com'
  2. git config --global user.name 'your name'
复制代码

2. 克隆最新源代码并部署
  1. git clone https://github.com/gl-inet/gl-infra-builder.git
  2. cd gl-infra-builder
复制代码
根据自己的型号执行相应的配置步骤(执行其中一个即可
AXT1800 配置
  1. python3 setup.py -c configs/config-wlan-ap.yml
  2. cd wlan-ap/openwrt
复制代码
AX1800 配置
  1. python3 setup.py -c configs/config-wlan-ap.yml
  2. cd wlan-ap/openwrt
复制代码
MT2500配置
  1. python3 setup.py -c  configs/config-mt798x-7.6.6.1.yml
  2. cd mt798x
复制代码
A1300配置
  1. python3 setup.py -c configs/config-21.02.2.yml
  2. cd openwrt-21.02/openwrt-21.02.2
复制代码
MT3000配置
  1. python3 setup.py -c configs/config-mt798x-7.6.6.1.yml
  2. cd mt798x
复制代码


3. 加入自己需要的软件包
    a. 执行完第2步之后,可以通过make menuconfig菜单选择自己的软件包
    b. 或者直接在2步中gen_config的阶段直接加入自己的配置,具体可以参考以下俩个链接
        https://forum.gl-inet.cn/forum.p ... &pid=2710&fromuid=1
        https://forum.gl-inet.cn/forum.p ... id=6&extra=page%3D1

4. 克隆glinet私有软件包我这里克隆下来存放在/home/glinet/work/glinet4.x目录,这个目录非常重要,下一步编译会用到
  1. git clone https://github.com/gl-inet/glinet4.x.git
复制代码
5. 编译编译时通过GL_PKGDIR参数指定GLINTE私有软件包的绝对路径,我的glinet4.x克隆在源码的同级目录,后面跟的子目录代表芯片方案
根据自己的型号选择编译(执行其中一个即可
AX1800
  1. cp ./glinet4.x/pkg_config/gl_pkg_config_ax1800.mk  ./glinet4.x/ipq60xx/gl_pkg_config.mk
  2. cp ./glinet4.x/pkg_config/glinet_depends_ax1800.yml  ./profiles/glinet_depends.yml
  3. ./scripts/gen_config.py glinet_depends
  4. make V=s -j5 GL_PKGDIR=`pwd`/glinet4.x/ipq60xx/
复制代码

AXT1800
  1. cp ./glinet4.x/pkg_config/gl_pkg_config_axt1800.mk  ./glinet4.x/ipq60xx/gl_pkg_config.mk
  2. cp ./glinet4.x/pkg_config/glinet_depends_axt1800.yml  ./profiles/glinet_depends.yml
  3. ./scripts/gen_config.py glinet_depends
  4. make V=s -j5 GL_PKGDIR=`pwd`/glinet4.x/ipq60xx/
复制代码


MT2500
  1. cp ./glinet4.x/pkg_config/gl_pkg_config_mt2500.mk  ./glinet4.x/mt7981/gl_pkg_config.mk
  2. cp ./glinet4.x/pkg_config/glinet_depends_mt2500.yml  ./profiles/glinet_depends.yml
  3. ./scripts/gen_config.py glinet_depends
  4. make V=s -j5 GL_PKGDIR=`pwd`/glinet4.x/mt7981/
复制代码
mt3000
  1. cp ./glinet4.x/pkg_config/gl_pkg_config_mt3000.mk  ./glinet4.x/mt7981/gl_pkg_config.mk
  2. cp ./glinet4.x/pkg_config/glinet_depends_mt3000.yml  ./profiles/glinet_depends.yml
  3. ./scripts/gen_config.py glinet_depends
  4. make -j5 V=s GL_PKGDIR=`pwd`/glinet4.x/mt7981/
复制代码

A1300
  1. cp ./glinet4.x/pkg_config/gl_pkg_config_a1300.mk  ./glinet4.x/ipq40xx/gl_pkg_config.mk
  2. cp ./glinet4.x/pkg_config/glinet_depends_a1300.yml  ./profiles/glinet_depends.yml
  3. ./scripts/gen_config.py glinet_depends
  4. make V=s -j5 GL_PKGDIR=`pwd`/glinet4.x/ipq40xx/
复制代码

6. 镜像文件
    a. 编译完成后可以在bin/targets/ipq807x/ipq60xx/目录下找到编译好的镜像文件,镜像文件的使用请参考其他主题帖 第二点描述的内容
    b. 编译出来的镜像不包含glinet的版本信息以及签名信息,因此,glinet总是可以识别出镜像是否为第三方编译
    c. 除b点中提到的不同,理论上固件其他功能与glinet的界面完全一样,如果发现其他问题,请在帖子中报告给我,我会及时修复

7.效果演示
play2.gif

8. 视频教程
不具备编译环境的小伙伴可以参考github云编译视频教程
https://www.bilibili.com/video/B ... id_from=333.999.0.0

更新记录
2022.10.20 更新私有包到4.1.0版本
2022.11.14 支持MT2500
2023.1.16 添加nas相关依赖,添加A1300
2023.1.29 支持MT3000
2023.03.21 支持4.2.0版本编译,统一编译命令流程2023.03.22 mt7981目录变更为mt798x






















回复

使用道具 举报

4

主题

29

帖子

128

积分

注册会员

Rank: 2

积分
128
发表于 2025-11-18 10:09:14 | 显示全部楼层
感谢楼主的贡献,请问啥时候能支持BE6500?我也想折腾
回复

使用道具 举报

2

主题

17

帖子

89

积分

注册会员

Rank: 2

积分
89
发表于 2025-3-12 16:49:18 | 显示全部楼层

很好,感谢大佬
回复

使用道具 举报

0

主题

21

帖子

1018

积分

金牌会员

Rank: 6Rank: 6

积分
1018
发表于 2023-11-4 15:31:31 | 显示全部楼层
试着学习自己编译吧、适合自己的才是最好的
回复

使用道具 举报

0

主题

21

帖子

1018

积分

金牌会员

Rank: 6Rank: 6

积分
1018
发表于 2023-11-4 14:37:11 | 显示全部楼层
很好,感谢大佬
回复

使用道具 举报

0

主题

1

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2023-6-13 03:52:54 | 显示全部楼层
很好,感谢大佬
回复

使用道具 举报

0

主题

8

帖子

59

积分

注册会员

Rank: 2

积分
59
发表于 2023-5-31 22:33:30 | 显示全部楼层
很好,感谢大佬
回复

使用道具 举报

77

主题

2144

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10312

官方人员

 楼主| 发表于 2023-5-30 20:27:15 | 显示全部楼层
山语 发表于 2023-5-30 15:41
drivers/crypto/msm/ice.c:1461:12: error: 'disable_ice_setup' defined but not used [-Werror=unused-fu ...

看错误提示,把不用的函数去掉应该就可以了
回复

使用道具 举报

1

主题

11

帖子

67

积分

注册会员

Rank: 2

积分
67
发表于 2023-5-30 15:41:14 | 显示全部楼层
drivers/crypto/msm/ice.c:1461:12: error: 'disable_ice_setup' defined but not used [-Werror=unused-function]
static int disable_ice_setup(struct ice_device *ice_dev)
            ^~~~~~~~~~~~~~~~~
drivers/crypto/msm/ice.c:1404:12: error: 'enable_ice_setup' defined but not used [-Werror=unused-function]
static int enable_ice_setup(struct ice_device *ice_dev)
            ^~~~~~~~~~~~~~~~
drivers/crypto/msm/ice.c:1383:27: error: 'get_ice_device_from_storage_type' defined but not used [-Werror=unused-function]
static struct ice_device *get_ice_device_from_storage_type
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[8]: *** [scripts/Makefile.build:297: drivers/crypto/msm/ice.o] Error 1
make[7]: *** [scripts/Makefile.build:532: drivers/crypto/msm] Error 2
make[6]: *** [scripts/Makefile.build:532: drivers/crypto] Error 2
make[5]: *** [Makefile:1734: drivers] Error 2

编译到这里出错了,怎么解决啊?
回复

使用道具 举报

0

主题

208

帖子

843

积分

高级会员

Rank: 4

积分
843

官方人员

发表于 2023-4-19 20:13:50 | 显示全部楼层
hghghg 发表于 2023-4-15 10:28
这个写的感觉有点乱,第2步里哪里有gen_config啊,第3步点进去也没几个软件包能选 ...

cd 到openwrt编译目录先
点击本楼回复,以方便收到通知
回复

使用道具 举报

10

主题

48

帖子

260

积分

中级会员

Rank: 3Rank: 3

积分
260
发表于 2023-4-15 10:28:40 | 显示全部楼层
这个写的感觉有点乱,第2步里哪里有gen_config啊,第3步点进去也没几个软件包能选
回复

使用道具 举报

2

主题

41

帖子

525

积分

高级会员

Rank: 4

积分
525
发表于 2023-3-24 21:05:53 | 显示全部楼层
编译的时候,如何配置不带编译出glinet imagebuilder么,GitHub 的 actions空间不够用了
回复

使用道具 举报

2

主题

41

帖子

525

积分

高级会员

Rank: 4

积分
525
发表于 2023-3-21 11:30:30 | 显示全部楼层
回复

使用道具 举报

77

主题

2144

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10312

官方人员

 楼主| 发表于 2023-3-21 11:26:59 | 显示全部楼层
jafarm 发表于 2023-3-21 10:58
感谢~,话说glinet_nas配置不用再加入了么

不需要再加
回复

使用道具 举报

2

主题

41

帖子

525

积分

高级会员

Rank: 4

积分
525
发表于 2023-3-21 10:58:02 | 显示全部楼层
萝卜大侠 发表于 2023-3-21 10:36
是的,已经更新了帖子

感谢~,话说glinet_nas配置不用再加入了么
回复

使用道具 举报

77

主题

2144

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10312

官方人员

 楼主| 发表于 2023-3-21 10:36:19 | 显示全部楼层
jafarm 发表于 2023-3-21 10:10
现在应该变了编译方式吧,MT2500直接是

是的,已经更新了帖子
回复

使用道具 举报

2

主题

41

帖子

525

积分

高级会员

Rank: 4

积分
525
发表于 2023-3-21 10:10:38 | 显示全部楼层
现在应该变了编译方式吧,MT2500直接是
  1. git clone https://github.com/gl-inet/gl-infra-builder.git && cd gl-infra-builder
  2. python3 setup.py -c configs/config-mt798x-7.6.6.1.yml

  3. git clone https://github.com/gl-inet/glinet4.x.git
  4. cp ./glinet4.x/pkg_config/gl_pkg_config_mt2500.mk  ./glinet4.x/mt7981/gl_pkg_config.mk
  5. cp ./glinet4.x/pkg_config/glinet_depends_mt2500.yml  ./profiles/glinet_depends.yml
  6. cd mt7981
  7. ./scripts/gen_config.py glinet_depends

  8. make V=s -j5 GL_PKGDIR=`pwd`/glinet4.x/mt7981/
复制代码
回复

使用道具 举报

1

主题

10

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2023-3-19 13:11:08 | 显示全部楼层
设置下面的参数, 允许root编译

  1. export FORCE_UNSAFE_CONFIGURE=1
复制代码
回复

使用道具 举报

12

主题

201

帖子

1792

积分

金牌会员

Rank: 6Rank: 6

积分
1792
发表于 2023-3-17 10:02:41 来自手机 | 显示全部楼层
萝卜大侠 发表于 2023-3-16 19:45
./scripts/gen_config.py target_wlan_ap-gl-axt1800 glinet_depends glinet_nas可以换成
./scripts/gen_ ...

大侠,是不是cd gl-infra-builder后,git  pull更新,
不用执行python3 setup.py -c configs/config-wlan-ap.yml这一步

直接cd wlan-ap/openwrt
./scripts/gen_config.py target_wlan_ap-gl-axt1800 glinet_depends glinet_nas添加keepfeeds就可以继续make编译了

以上所说步骤都是在已经编译过官方更新的基础上需要执行的
回复

使用道具 举报

77

主题

2144

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10312

官方人员

 楼主| 发表于 2023-3-16 19:45:42 | 显示全部楼层

./scripts/gen_config.py target_wlan_ap-gl-axt1800 glinet_depends glinet_nas可以换成
./scripts/gen_config.py keepfeeds target_wlan_ap-gl-axt1800 glinet_depends glinet_nas
这样快很多
回复

使用道具 举报

12

主题

201

帖子

1792

积分

金牌会员

Rank: 6Rank: 6

积分
1792
发表于 2023-3-16 09:34:59 来自手机 | 显示全部楼层
萝卜大侠 发表于 2023-3-14 09:38
DOCKER肯定也是可以的,之前尝试过,但其实问题更多

求助萝卜大侠
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|gl-inet.cn ( 粤ICP备18130956号 )

GMT+8, 2026-1-27 11:01 , Processed in 0.029089 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表