OpenWrt-同时使用LuCI和Oui

复制代码
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的时候,让我意识到也可以直接修改基础软件的默认配置。

相关推荐
水水不水啊5 小时前
告别杂乱的调试窗口:我用 Python + WebView 写了一个现代化串口助手
python·测试工具·嵌入式·嵌入式开发·串口调试·串口助手
haliu18 小时前
【FHE】(十二):为什么我们把 OpenMP 换成了自研线程池
人工智能·嵌入式·c·fhe·推理引擎·c11·边缘推理·同态加密推理
Zwawa1 天前
把按键和 LED 状态显示出来:第一次看见程序到底在干什么
单片机·嵌入式
haliu1 天前
【FHE】(十一):密文链协议——两条不变式,和 112 与 2100 的分工
嵌入式·fhe·推理引擎·边缘推理·同态加密推理
haliu1 天前
【FHE】(十):密文里的 attention——没有 max,softmax 怎么办
人工智能·嵌入式·c·fhe·推理引擎·c11·边缘推理·同态加密推理
不悔哥6 天前
开源OV-Watch:怎么做一个智能手表
单片机·开源·嵌入式
优信电子6 天前
AIT1001 非接触式红外测温模块 STM32 驱动开发实战:从引脚到代码全解析
stm32·嵌入式·温度传感器·红外测温·非接触式测温·ait1001
youcans_7 天前
【嵌入式软件AI编程】16. Claude Code 与 VS Code 的协同开发
stm32·mcu·嵌入式·ai编程·claude code
阿钱真强道7 天前
06 嵌入式操作系统 | vim 与软件管理:apt / 源码编译
ubuntu·vim·嵌入式·apt·源码编译
G.E.M.小白7 天前
【IMX6ULL ARM内核启动与时钟系统超详解】PLL/PFD/分频/根时钟配置
嵌入式·arm·时钟·imx6ull