OpenWrt-同时使用LuCI和Oui

复制代码
Ubuntu22
immortalwrt v21.02.7
MT7620A

背景

由于Oui还处在早期阶段,没有网络配置相关的工具,生态还不够繁荣。所以我们就希望让LuCIOui同时存在。这就涉及到两个问题,一个是打固件的文件大小不能限制在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 默认是使用cgiuhttpd来提供服务的,我们就可以偷懒嘛!直接修改 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的时候,让我意识到也可以直接修改基础软件的默认配置。

相关推荐
charlie1145141912 小时前
Cinux: 加载第一个内核:从 bootloader 跳进 C++
linux·开发语言·c++·嵌入式
dddwjzx8 小时前
嵌入式Linux C应用编程入门——标准IO库
嵌入式
pai同学8 小时前
ESP-IDF+vscode开发ESP32第十二讲——event
嵌入式
凉、介9 小时前
KVM + QEMU 虚拟化
笔记·学习·嵌入式·arm·qemu·虚拟化·kvm
dddwjzx1 天前
嵌入式Linux C应用编程入门——文件IO进阶
嵌入式
2023自学中1 天前
imx6ull 开发板, mame 模拟器,运行游戏 测试
linux·游戏·嵌入式·开发板
dddwjzx1 天前
嵌入式Linux C应用编程入门——文件IO
嵌入式
fzm52981 天前
车载ECU单元测试技术与应用研究
c语言·自动化测试·单元测试·嵌入式·白盒测试
用户120487221613 天前
Linux驱动编译与加载
linux·嵌入式
用户805533698033 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式