OpenWrt V22.03.2 折腾记(编译篇)

--极路由1S(HC5661A)

多年前编译了个带Asterisk15(自己用Lua语言,照葫芦画瓢式开发了个Web配置界面)和openVPN 服务器 的Openwrt V18.06 固件,能实现SIP客户端通过路由器上USB接口(HC5661A的USB自已加装的)上的华为E-180 3G上网卡接打电话,转发短信(转到手机上,SIP客户端上,电子邮箱上都是可以的)等功能,OpenVPN连接上后能访问到光猫上的U盘。但是Asterisk15有个缺点,就是通话过程,如果双方都讲话,通话质量会非常差,就这个通话质量差,跟路由器硬件性能关系不大,因为有试过性能更好的双核CPU路由器,也是一样。后来这张手机卡给女儿装电话手表里用了,就一直在客厅给电视及电视盒子等当交换机用了。

事隔多年,现在OpenWrt的稳定版本都已经更新到了V22版本了,Asterisk也更新到了V18啦,另外由于买了WIFI6 新路由器做主路由,(之前一直用光猫当主路由,华为HS8145V?忘记哪个版本了),插在光猫上的U盘无法共享,实现不了私人云盘的功能了,而老版本的Openwrt, 安装不上NTFS-3G,用Samba共享后不能写入。所以,就折腾起了V22版本 OpenWrt。

首先给电脑安装上虚拟机 VMware Workstation Pro,我用的V14版本的,我安装了Ubuntu,安装了3个版本,分别是18.04.2 ,20.04.5和22.04.1, 然后选译了22.04.1来编译OpenWrt V22.03.02

先说说怎么个折腾法,编译完了,识别不到U盘,该安装的Kmod模块都在配置菜单中选上了,编译好后就是不识别,系统日志,核心日志,都看不到插入USB的任何信息,之前V18的时候直接就识别出来了,难道新版的Linux内核不支持?反正就是拆腾了很久,后来发现DTS的硬件配置文件上,把USB给disable, 把它改成okay,后再编译就正常了。另外这路由器其实有个SD卡槽的,DTS配置文件也给disable了,但是如果启用的话,Lan口就不正常了,据说是IO口和Lan共用,OpenWrt没有单独给它做适配,所以暂时放弃继续折腾,咱有USB就够用了。

我还是用倒置叙述的方式,先来看看这个DTS配置文件,在Openwrt/target/Linux/ramips/dts 目录下:(现在说的这一步,是在Make前修改好,等下再提一下吧)

5586cc7803bc42d785ddb3666beda8cd.png

 

用文本编辑器打开,&ehci和&ohci里的status = "disable" 改成 status = "okay" ,图中已改。

9f4634191e244e2cad50f219f724b624.png

关于编译环境建立,我也是参考OpenWrt官网,网址:[OpenWrt Wiki] Build system setup

在虚拟机里安装好Unbuntu后,启动它,进到桌面,右键把终端打开,先来个软件源更新,

完了之后,我们要安装编译OpenWrt所需要的工具软件包

sudo apt update
sudo apt install build-essential clang flex g++ gawk gcc-multilib gettext \
git libncurses5-dev libssl-dev python3-distutils rsync unzip zlib1g-dev

以上适用于编译包支持22.03 和21.02 版本,编译它们不再需要python2.7,python3 ubuntu 22.04已内置啦。

如果编译较旧版本,需要安装以下软件包(我这里编译最新版的,用不上安装以下软件了):

sudo apt update
sudo apt install build-essential ccache ecj fastjar file g++ gawk \
gettext git java-propose-classpath libelf-dev libncurses5-dev \
libncursesw5-dev libssl-dev python python2.7-dev python3 unzip wget \
python-distutils-extra python3-setuptools python3-dev rsync subversion \
swig time xsltproc zlib1g-dev

编译环境建立好后,接着这些步骤也是参考官网,[OpenWrt Wiki] Build system usage

我只是个白话翻译官,哈哈!

注意以下这些指令,都不需要用root身份执行,用root的话可能会报错,然后编译完了后,固件什么都是root用户的,视窗下移动文件,改动文件都需要root的身份,不好操作。

开始从代码仓克隆代码

git clone https://git.openwrt.org/openwrt/openwrt.git
cd openwrt
git pull

git clone还可以从https://github.com/openwrt/openwrt里克隆(貌似网速更慢),完了切换到openwrt目录后,用git pull拉取一下更新。这里看喜好,不拉取更新也是一样的。只是官方这样说而已

接着,git tag 后会列出很多版本,按键盘向下键直到最后一个版本后出现END,按q键退出,然后git checkout v22.03.2, 这一步是chekout出我们需要编译的版本。

git tag
git checkout v22.03.2

 接下来是更新和安装feeds,两条指令合并一起执行

./scripts/feeds update -a && ./scripts/feeds install -a

执行完了这里,我们就可以去修改DTS文件了,修改好了再进行以下步骤。

再然后就进入openwrt的配置菜单啦,把虚拟机最大化,免得提示行列不够宽,无法显示的错误。

make menuconfig

 指令执行后

818255e34dd843fbbe2e06a4a895008f.png

这个配置,我就不详细说如何选了,自己要实现什么功能,需要哪些包,可以百度。配置完后,记得一定保存,带*号的是编译进固件里的,显示M的是编译出IPK安装包的,看实际需要选择。

如果有需要还可以进入内核配置菜单,make -j4 kernel_menuconfig V=99, 这个第一次进入会很慢,可能半个小时以上,看网络和电脑配置,这一步需要安装下载编译链工具,一般我们也不需要进入这里,里面是Linux内核的配置,一般人看不懂。(make -j4 这里的4是开启4核编译的意思,看你的虚拟机分配了几个CPU可用,就填-j几,V=99 显示所有编译的信息,和V=s 是一个意思)

然后可以直接用make -j4 V=99 进行编译,看配置和网络性况,不报错的情况下,一般在一两个小时就能编译出路由器固件。 生成的固件保存在/openwrt/bin/targets/CPU芯片架构文件命名的目录/CPU芯片命名的目录/,例如我的的HC5661A生成在/openwrt/bin/targets/ramips/mt76x8/ 。

make -j4 V=99

另外,在执行make -j4 V=99 之前,我们也可以先用以下指令,先把需要下载的东西先下载过来,看个人看爱好了.

make -j4 download V=99

到这里整个编译就完成了。

 

 

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
OpenWrt 22.03.5是OpenWrt操作系统的一个版本。根据引用\[1\],OpenWrt 22.03.0版本的亮点包括基于nftables的Firewall4防火墙。这意味着在22.03.5版本中,你可以使用Firewall4防火墙来保护你的网络。 根据引用\[2\],编译完成后,你可以将OpenWrt 22.03.5版本烧写到设备上,并查看系统的现象。在引用中提供的示例输出中,可以看到BusyBox版本为v1.36.1,内置的shell为ash。此外,还提供了Linux内核版本为5.15.112的信息。 根据引用\[3\],如果你想使OpenWrt系统支持qmi协议以便支持移远5G模块通讯,你可以通过LuCI界面进行配置。具体的配置步骤可以参考引用中提供的指南。 综上所述,OpenWrt 22.03.5是一个支持基于nftables的Firewall4防火墙的版本,你可以通过编译和烧写来安装它,并且可以通过配置来使其支持qmi协议以便支持移远5G模块通讯。 #### 引用[.reference_title] - *1* [OpenWrt-v22.03 通过安装 ZeroTier 插件实现异地组网](https://blog.csdn.net/m0_60027682/article/details/127024674)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [OK1043-openwrt系统移植](https://blog.csdn.net/last_sun/article/details/131227124)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值