本帖最后由 诚信行天下 于 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.首先安装编译时需要的系统工具:
- sudo apt update -y #更新软件包
- sudo apt full-upgrade -y #更新现有的软件包
- sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \
- bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \
- git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libfuse-dev libglib2.0-dev libgmp3-dev \
- libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libpython3-dev libreadline-dev \
- libssl-dev libtool lrzsz mkisofs msmtp ninja-build p7zip p7zip-full patch pkgconf python3 \
- python3-pyelftools python3-setuptools qemu-utils rsync scons squashfs-tools subversion swig texinfo \
- uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev #安装新的软件包
复制代码
2.拉取lede源码,更新软件包源码并开始配置构建菜单(以下操作可能有些会因为网络问题报错,重试几次一般都能解决,如果一直错误可以检查一下网络状态(上网))- git clone https://github.com/coolsnowwolf/lede #拉取lede源码仓库 ,这里以lede为例,但openfi已经支持使用天灵、官方源码编译了,如果你想使用其他源码可以参照本教程,但可能有些出入
- cd lede #进入lede仓库
- ./scripts/feeds update -a #更新源码中的软件包
- ./scripts/feeds install -a #下载源码中的源码包
复制代码
然后执行make menuconfig进入菜单后的样子(这里的机型我是选过的,默认是x86):
PS:构建菜单的基本操作方法:
- 上下左右方向键用来选择选项 - 上下左右方向键用来选择菜单 - 回车键用于进入下一级菜单(如果存在)
- 空格更改选项状态,
"< >"=不编译这个插件
"<*>"=编译到固件中
"<M>"=不编译到固件中,但生成ipk安装包
双击ESC回到上级菜单以及关闭选项界面
关闭界面时会提示是否保存,默认回车yes即可
3.配置OpenFi机型和自定义app的选择
-- 按下列选项依次选择OpenFi5Pro(一定要从上往下依次选择对应架构、处理器、具体的机型否则会找不到机型) PS:当你进行完这个步骤时,我建议大家最好先跳到第六步,先进行第一次编译,如果编译完成没有报错,再进行选择插件的操作,否则可能因为你选的某些插件会引起各种报错,但是你又不知道错误在哪里,这时候日过你已经进行了第一次编译,然后再选择其他app时,就能排除是编译环境的锅,问题就在你选择的插件上,这样就能快速找到问题了!!其次,我建议新手最好选一个插件编译一次,费时间,但是能最大程度避免出错且找不到问题
-- 接下来就可以选择自己想要的插件了,按方向键向下翻菜单依次进入:
LuCI-->applications-->
在这个菜单下可以找到需要的应用程序,当然菜单是英文的,你可以参照附件中的表格文件查找对应插件的中文名,然后进行选择:
4.配置无线驱动选项(一般选择机器型号后会自动勾选,因此可以跳过这个步骤):
- 回到主目录,重新依次进入Kernel modules --> Wireless Drivers菜单
- 选择kmod-mt7603e(2.4G)和kmod-mt7615_dbdc(5G)
复制代码
5.其他配置可以搜索相关教程或者在构建菜单中单击"/"键进行搜索相关插件名称顺藤摸瓜
6.接下来就可以退出构建菜单并开始编译:
- make download -j8 #第一次编译时下载依赖包,这里的-j8表示使用8个线程进行下载
- make V=s -j1 #使用一个线程开始编译,第一次编译适合用单线程,不然报错会找不到错误原因,在第一次编译没有问题后第二次编译就可以用多线程加快速度了
- 其他编译命令:
- git pull #拉取更新源码
- make V=s -j$(nproc) #最大线程编译
- make kernel_menuconfig #内核配置
- make dirclean #删除下载的文件和生成的文件,让编译环境恢复到最原始的状态,也就是刚刚拉取源码的状态!!
- make clean #清除生成的固件和临时文件,如果没有异常,或者重新选择机型,建议不要执行这个命令,这样下次编译会快很多
- 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.来路不明的固件不要乱刷,不排除存在后门的可能,这可能会造成你的个人信息被泄露等危害。
|