请选择 进入手机版 | 继续访问电脑版

forum.gl-inet.cn

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
    查看: 55426|回复: 205

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

      [复制链接]

    76

    主题

    2144

    帖子

    9874

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    9874

    官方人员

    发表于 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.效果演示


    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






















    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    回复

    使用道具 举报

    0

    主题

    21

    帖子

    720

    积分

    高级会员

    Rank: 4

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

    使用道具 举报

    0

    主题

    21

    帖子

    720

    积分

    高级会员

    Rank: 4

    积分
    720
    发表于 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 | 显示全部楼层
    很好,感谢大佬
    回复

    使用道具 举报

    76

    主题

    2144

    帖子

    9874

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    9874

    官方人员

     楼主| 发表于 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

    帖子

    824

    积分

    高级会员

    Rank: 4

    积分
    824

    官方人员

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

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

    使用道具 举报

    10

    主题

    48

    帖子

    254

    积分

    中级会员

    Rank: 3Rank: 3

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

    使用道具 举报

    1

    主题

    37

    帖子

    469

    积分

    中级会员

    Rank: 3Rank: 3

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

    使用道具 举报

    1

    主题

    37

    帖子

    469

    积分

    中级会员

    Rank: 3Rank: 3

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

    使用道具 举报

    76

    主题

    2144

    帖子

    9874

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    9874

    官方人员

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

    不需要再加
    回复

    使用道具 举报

    1

    主题

    37

    帖子

    469

    积分

    中级会员

    Rank: 3Rank: 3

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

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

    使用道具 举报

    76

    主题

    2144

    帖子

    9874

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    9874

    官方人员

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

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

    使用道具 举报

    1

    主题

    37

    帖子

    469

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    469
    发表于 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
    复制代码
    回复

    使用道具 举报

    10

    主题

    188

    帖子

    1448

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1448
    发表于 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编译了

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

    使用道具 举报

    76

    主题

    2144

    帖子

    9874

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    9874

    官方人员

     楼主| 发表于 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
    这样快很多
    回复

    使用道具 举报

    10

    主题

    188

    帖子

    1448

    积分

    金牌会员

    Rank: 6Rank: 6

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

    求助萝卜大侠
    回复

    使用道具 举报

    10

    主题

    188

    帖子

    1448

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1448
    发表于 2023-3-14 14:43:52 | 显示全部楼层
    萝卜大侠,进入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,,还需要做什么吗?每还是每次都要从新上述步骤从头开始,从头开始效率太低了
    回复

    使用道具 举报

    76

    主题

    2144

    帖子

    9874

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    9874

    官方人员

     楼主| 发表于 2023-3-14 09:38:50 | 显示全部楼层
    三碗猪脚 发表于 2023-3-13 11:47
    可以在docker 里面编译吗? 输出制品就可以了

    DOCKER肯定也是可以的,之前尝试过,但其实问题更多
    回复

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-12-7 09:45 , Processed in 0.027504 second(s), 26 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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