Ubuntu22
immortalwrt v21.02.7
MT7620A
背景
由于Oui还处在早期阶段,没有网络配置相关的工具,生态还不够繁荣。所以我们就希望让LuCI
和Oui
同时存在。这就涉及到两个问题,一个是打固件的文件大小不能限制在8M,太小;另一个是两者不能同时占用80端口。下面我们来一一解答。
调整MT7620A的镜像大小限制
在新版本的 OpenWrt
中,调整镜像大小限制的文件需要结合profile
,我们以evb
为例,修改文件 immortalwrt/target/linux/ramips/image/mt7620.mk
进入这个文件后,我们查找我们在 make menuconfig
中选择的 profile
对应的配置部分:
c
define Device/ralink_mt7620a-evb
SOC := mt7620a
IMAGE_SIZE := 10240k
DEVICE_VENDOR := MediaTek
DEVICE_MODEL := MT7620a EVB
endef
TARGET_DEVICES += ralink_mt7620a-evb
我们主要修改 IMAGE_SIZE
这一行的配置,让它尽量变大,这样就能安装更多软件到固件中。
修改 uhttpd
默认端口
由于 LuCI
默认是使用cgi
和uhttpd
来提供服务的,我们就可以偷懒嘛!直接修改 uhttpd
的默认端口。那么像这种系统基础的包,一般是放在 package
下,一些比较周边的第三方的,在 feeds
目录下。我们不用特别记忆这些,慢慢就找到感觉了。
所以我们打开文件: immortalwrt/package/network/services/uhttpd/files/uhttpd.config
由于我们只是改端口,我们只需要修改下面这两处即可:
config
# HTTP listen addresses, multiple allowed
list listen_http 0.0.0.0:8080
list listen_http [::]:8080
# HTTPS listen addresses, multiple allowed
list listen_https 0.0.0.0:3443
list listen_https [::]:3443
开发调试Oui
首先你需要根据我之前说明的《OpenWrt-Oui的安装》,来安装打包出镜像,并烧录到开发板上。
然后根据Oui官网的说明,我们开发调试整个项目需要修改 oui-ui-core/htdoc/vite.config.js
中的代理配置,把target
的地址改成开发板的地址。
就比如我们修改成了下面这样:
js
{
server: {
proxy: {
'/oui-rpc': {
target: 'http://192.168.8.88',
secure: false
},
'/oui-upload': {
target: 'http://192.168.8.88',
secure: false
},
'/oui-download': {
target: 'http://192.168.8.88',
secure: false
}
}
}
}
然后我们执行它指出的 npm
一套连招,发现连接失败。这是因为你的开发板的防火墙没有打开,这个时候我们登录上LuCI
,在 网络
-> 防火墙
处都选上接受
这样你就可以在本地开发和调试 Oui
了。
致谢
感谢《openwrt打包固件之修改默认ssh端口》,这篇文章在修改dropbear
的时候,让我意识到也可以直接修改基础软件的默认配置。