在OpenIPC上开发程序,用到了RTL8812EU网卡模块,但OpenIPC默认没有集成此驱动。需要手动添加上,重新编译下。记录下操作步骤。
编译使用的是 Ubuntu 22.04.5 LTS;
1. 按以下顺序执行命令:
# 安装编译环境
sudo apt-get install -y automake autotools-dev bc build-essential curl fzf git libtool rsync unzip
# 下载固件源码
git clone --depth=1 https://github.com/OpenIPC/firmware.git
# 进入源码路径下
cd firmware
# 如果已经编译过清理下
make clean
# 编辑要修改的配置文件
vi br-ext-chip-sigmastar/configs/ssc30kq_ultimate_defconfig
2. 配置文件添加上RTL8812EU的选项
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
BR2_PACKAGE_WIREGUARD_TOOLS=y
BR2_PACKAGE_WIRELESS_TOOLS=y
BR2_PACKAGE_RTL88X2EU_OPENIPC=y <<<<----- 添加上RTL88X2EU 选项
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y
.... 略 ....
3. 编辑完成后,在firmware目录下,直接make , 在弹出的选择框里选择ssc30kq_ultimate_defconfig
编译过程中会自动下载依赖库,保持网络畅通, 否则编译失败。
4. 编译完成后,生成的文件在: firmware/output/images/
openipc.ssc30kq-nor-ultimate.tgz <<<<----- 完整的镜像包(内核+文件系统)
rootfs.cpio
rootfs.squashfs.ssc30kq <<<<----- 文件系统镜像
rootfs.ssc30kq.tar
uImage.ssc30kq <<<<----- 内核镜像
5. 把编译的固件刷入到设备,更多方法见: OpenIPC 官网升级文档
#方法1:上传到系统/tmp目录下,使用以下命令升级:
sysupgrade --kernel=/tmp/uImage.ssc30kq --rootfs=/tmp/rootfs.squashfs.ssc30kq
#方法2:放到web服务器上,使用url的方式自动下载升级;
sysupgrade -k -r -n --url=http://192.168.XX.XX/openipc.ssc30kq-nor-ultimate.tgz
命令和参数含义如下:
# ------参数含义----------
-k 升级内核(Kernel)
-r 升级根文件系统(Rootfs)
-n 不保存配置(强烈建议使用,避免旧配置导致系统无法启动)
升级前使用ipctool 查看设备信息,确保芯片型号和内存大小匹配:
root@openipc-ssc30kq:~# ipctool
The ipctool installed as remote GitHub plugin
---
chip:
vendor: SigmaStar
model: SSC33X <<<<-----确认下------
... 略 ...
sensors:
- vendor: Sony
model: IMX335 <<<<-----确认下------
... 略 ...