找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 1056|回复: 5

OpenFi技术分享(一):如何编译自己的OpenFi 5Pro/OpenWRT固件,添加自定义功能!

[复制链接]
发表于 2024-11-26 01:36 | 显示全部楼层 |阅读模式
本帖最后由 诚信行天下 于 2024-11-26 21:08 编辑

今天给大家分享一下编译OpenFi 5Pro固件的过程,当然其他想要编译openwrt的机型也可以参考本教程进行编译!

后面也会继续分享更多有用的教程给大家,欢迎收藏!!!

OpenFi 5Pro是一款今年刚推出的便携式路由器,这款路由器本身基于OpenWRT开发的系统已经可以满足大部分人的需求,无论出差还是研究旅行都很方便携带,随时可以部署一个建议的私人局域网,还带有许多好玩的插件当软路由玩。引用Brukamen的测评贴:https://www.right.com.cn/forum/thread-8404715-1-1.html



OpenFi 5Pro 的创作者在开发之初就已经引入了开放的设计理念,所以给这款路由器留下了巨大的开发空间,它具有64MB的rom和512Mb的ram,额外支持TF卡扩容,还带有一个USB口。板子本身也有巨大的改装潜力:


按这个配置来看,在联发科,mt7621系列的机器中处于独一份的存在,可玩性非常高,拿来当开发板也不为过了。

随着越来越多玩家用户的加入,很多玩家在使用OpenFi的时候发现很多插件用不上,于是想做一个精简的固件用来满足自己的需求,把空间留出来用在更适合的地方,同时也可以一定程度上增加机器的流畅性。
因此,第一期文章就教大家如何编译自己的OpenFi 5Pro的OpenWRT固件,照顾到有些玩家可能刚入门,所以会将教程写的尽量详细一些,大佬们勿怪!!!如有不足之处请指出修正。

PS:使用自编译的固件意味着失去了官方自带的许多方便的功能插件,体验可能会有所下降,如果想换回官方固件,可以使用此链接的固件恢复,刷机前请做好备份!!!


下面开始正式教程(大家一定要完整的看一遍教程,然后再实践,避免走弯路!!!):

编译的前置条件:拥有一个Linux的环境用来搭建交叉编译的环境(本教程使用Ubuntu为例演示,当然这也是大多数人的选择)

        Ubuntu虚拟机安装教程可以参考这个教程(但不要完全照抄,注意看下面的补充说明):https://blog.csdn.net/qq_45657288/article/details/116084337
补充说明:
        -- 镜像的下载链接就不要用链接中提到的网盘了,直接用官方的就行,用IDM下载器就可以全速下载:https://releases.ubuntu.com/24.10/ubuntu-24.10-desktop-amd64.iso
        -- 处理器数量可以给多一些可以增加编译速度(使用多线程的情况下),给满实际上也不会对电脑有什么影响,只需要避免在编译时用电脑做别的事情就可以了
        -- 内存至少给4GB,磁盘的话最好给60G(最少也得40往上)
        -- 编译时下载一些资料时可能需要歪歪上网,可以使用这个工具,安装简单兼容性强(记得打开本机代理),参考教程:https://juewuy.github.io/zai-linux-xi-tong-an-zhuang-ji-shi-yong-shell克拉斯-de-jiao-cheng/

正式开始编译:

1.首先安装编译时需要的系统工具:
  1. sudo apt update -y  #更新软件包
  2. sudo apt full-upgrade -y #更新现有的软件包
  3. sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \
  4. bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \
  5. git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libfuse-dev libglib2.0-dev libgmp3-dev \
  6. libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libpython3-dev libreadline-dev \
  7. libssl-dev libtool lrzsz mkisofs msmtp ninja-build p7zip p7zip-full patch pkgconf python3 \
  8. python3-pyelftools python3-setuptools qemu-utils rsync scons squashfs-tools subversion swig texinfo \
  9. uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev #安装新的软件包
复制代码

2.拉取lede源码,更新软件包源码并开始配置构建菜单(以下操作可能有些会因为网络问题报错,重试几次一般都能解决,如果一直错误可以检查一下网络状态(上网))
  1. git clone https://github.com/coolsnowwolf/lede #拉取lede源码仓库 ,这里以lede为例,但openfi已经支持使用天灵、官方源码编译了,如果你想使用其他源码可以参照本教程,但可能有些出入
  2. cd lede #进入lede仓库
  3. ./scripts/feeds update -a #更新源码中的软件包
  4. ./scripts/feeds install -a #下载源码中的源码包
复制代码

然后执行make menuconfig进入菜单后的样子(这里的机型我是选过的,默认是x86):

PS:构建菜单的基本操作方法:

- 上下左右方向键用来选择选项
- 上下左右方向键用来选择菜单
- 回车键用于进入下一级菜单(如果存在)
- 空格更改选项状态,
"< >"=不编译这个插件
"<*>"=编译到固件中
"<M>"=不编译到固件中,但生成ipk安装包
双击ESC回到上级菜单以及关闭选项界面
关闭界面时会提示是否保存,默认回车yes即可


3.配置OpenFi机型和自定义app的选择

-- 按下列选项依次选择OpenFi5Pro(一定要从上往下依次选择对应架构、处理器、具体的机型否则会找不到机型)
PS:当你进行完这个步骤时,我建议大家最好先跳到第六步,先进行第一次编译,如果编译完成没有报错,再进行选择插件的操作,否则可能因为你选的某些插件会引起各种报错,但是你又不知道错误在哪里,这时候日过你已经进行了第一次编译,然后再选择其他app时,就能排除是编译环境的锅,问题就在你选择的插件上,这样就能快速找到问题了!!其次,我建议新手最好选一个插件编译一次,费时间,但是能最大程度避免出错且找不到问题

-- 接下来就可以选择自己想要的插件了,按方向键向下翻菜单依次进入:

LuCI-->applications-->


在这个菜单下可以找到需要的应用程序,当然菜单是英文的,你可以参照附件中的表格文件查找对应插件的中文名,然后进行选择:


4.配置无线驱动选项(一般选择机器型号后会自动勾选,因此可以跳过这个步骤):
  1. 回到主目录,重新依次进入Kernel modules --> Wireless Drivers菜单
  2. 选择kmod-mt7603e(2.4G)和kmod-mt7615_dbdc(5G)
复制代码


5.其他配置可以搜索相关教程或者在构建菜单中单击"/"键进行搜索相关插件名称顺藤摸瓜


6.接下来就可以退出构建菜单并开始编译:
  1. make download -j8 #第一次编译时下载依赖包,这里的-j8表示使用8个线程进行下载
  2. make V=s -j1 #使用一个线程开始编译,第一次编译适合用单线程,不然报错会找不到错误原因,在第一次编译没有问题后第二次编译就可以用多线程加快速度了
  3. 其他编译命令:
  4. git pull #拉取更新源码
  5. make V=s -j$(nproc) #最大线程编译
  6. make kernel_menuconfig #内核配置
  7. make dirclean #删除下载的文件和生成的文件,让编译环境恢复到最原始的状态,也就是刚刚拉取源码的状态!!
  8. make clean #清除生成的固件和临时文件,如果没有异常,或者重新选择机型,建议不要执行这个命令,这样下次编译会快很多
  9. make V=s -j$(nproc) #V=sc 日志输出等级调整到最详细,也可以不带这个参数,这样就不会输出任何日志,只是输出进度
复制代码
首次编译时间可能会很久,这是正常的,如果没有报错中断,你就能在以下菜单看到生成的固件文件:

如果没有找到对应机型的固件如:

则应该是编译出错了,使用单线程编译,找到报错信息,尝试解决后重新编译即可!

7.从U-boot刷入新的固件
-- 方法一: 你可以直接在虚拟机或实体机的浏览器中进入OpenFi 5pro后台升级界面直接选择生成的固件进行升级,但记得一定不要保留配置,不要保留配置!!!不要保留配置!!!
--  方法二:  也可以按照传统方法进入uboot刷入新的固件

再次提示:如果你想换回官方的固件,可以回到文章开头,下载链接中的原始固件进行刷机,一样的不要保留配置!

注:刷机后的IP地址变成了192.168.1.1而不是原来的192.168.21.1,默认密码是:password
下面是我刷入自编译的效果(供参考):




其他说明:
1.选择喜欢的主题可以在构建菜单的:LuCI --> Themes下选择想要的主题,个人推荐:luci-themes-argon-mod
2.刷入其他固件有一定的概率损坏机器(成砖)或带来其他风险,请一定要了解相应的风险后谨慎操作,如果刷机失败可以进入uboot进行恢复到官方固件的操作
3.刷入其他固件代表你愿意舍弃原有固件的功能(如自动usb共享网络、自动中继无线等)和数据,请切记刷机前做好备份等相关操作以确保数据安全。
4.来路不明的固件不要乱刷,不排除存在后门的可能,这可能会造成你的个人信息被泄露等危害。

本帖子中包含更多资源

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

×
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2024-11-26 08:09 | 显示全部楼层
技术贴,支持一下,谢谢分享。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 1 反对 0

使用道具 举报

发表于 2024-11-26 23:18 | 显示全部楼层
东西老了点,喜欢刷机的人倒是可以打发时间,还可以自己编译和定制uboot。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-11-27 07:45 来自手机 | 显示全部楼层
如果回到5年前,这配置还是可以了😄
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 1 反对 0

使用道具 举报

发表于 2024-11-28 15:02 | 显示全部楼层
800元需要一个教学视频。15372026494 我需要打游戏用的SK5。打算买云电脑自带一个IP。,在不购买弹性IP的情况下,或者没有其他费用的情况下,一台云电脑可以有10个IP,是自己建设的。需要这样一个教学视频。需要这样的:159.138.10.84/42834/Qingsip01/458480/
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-11-28 15:03 | 显示全部楼层
800元需要一个教学视频。15372026494 我需要打游戏用的SK5。打算买云电脑自带一个IP。,在不购买弹性IP的情况下,或者没有其他费用的情况下,一台云电脑可以有10个IP,是自己建设的。需要这样一个教学视频。需要这样的:159.138.10.84/42834/Qingsip01/458480/
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2025-2-15 09:03

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

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