行空板 M10 Linux 主线适配进展

2026-11-043
AI 快速预览详细 收起
本文介绍了行空板 M10 的 Linux 主线适配工作,包括基础设备树、显示与触摸、音频等外设的适配进展。已完成 eMMC、microSD、USB、UART、Wi-Fi 等基础外设的适配和实机验证,可以使用较新的 Linux 内核正常启动并进入用户空间。目前主要在继续跟进显示、触摸及音频补丁的上游审阅和合并,同时逐步完善尚未支持的板载外设。

我正在推进行空板 M10 的 Linux 主线适配工作,希望逐步完善各项硬件的上游支持,使其能够使用主线 Linux 内核及 Debian 发行版。

目前基础设备树已经完成,显示、触摸、音频等外设的适配也取得了一定进展。

已完成的工作

基础设备树

M10 V1.2 的基础设备树及 Devicetree binding 已合并至 linux7.4-rc1。

目前已完成 eMMC、microSD、USB、UART、Wi-Fi 等基础外设的适配和实机验证,可以使用较新的 Linux 内核正常启动并进入用户空间。

显示与触摸

显示部分已从原有的 fbtft 迁移至 DRM,使用主线已有的 panel-mipi-dbi 驱动,无需额外维护专用的显示驱动。

目前已完成屏幕初始化、背光控制、画面显示及刷新测试,相关补丁已提交至 Linux 内核邮件列表。

触摸部分完成了 NS2009 驱动及设备树适配,基本触摸功能已通过实机验证。驱动和相关 binding 已提交上游,目前仍在推进合并工作。

音频

已为 RK3308 Codec 驱动补充 Revision B 支持,相关补丁已经合入 linux7.4-rc1。

同时完成了 M10 板级音频配置的初步适配,板载麦克风已能够正常录音。相关设备树补丁已经提交。

硬件版本兼容性

除 V1.2 外,还对 V1.3 进行了实机测试。

目前确认 V1.3 可以直接使用 V1.2 的测试镜像启动,显示、触摸、Wi-Fi、音频及基础存储等功能均可正常工作。后续将继续验证其他硬件修订版本,尽可能复用现有设备树。

Ps: 如果有谁有更早硬件版本的 M10 欢迎来一起开发 ~

正在推进的工作

目前主要在继续跟进显示、触摸及音频补丁的上游审阅和合并,同时逐步完善尚未支持的板载外设,包括:

  • RTL8723DS 蓝牙
  • IMU 及其他传感器
  • GD32VF103 协处理器
  • 电源管理与休眠相关功能

此外,也在研究 U-Boot 启动链的主线化,尝试减少对厂商二进制组件的依赖。

系统方面,已经在 Debian 12 和较新的 Linux 内核上进行了测试,后续计划继续适配更新版本的 Debian,并整理可供直接使用的系统镜像。

一些别的碎碎念

半年以来一直在推进这个板子的 linux 主线化工作 然后现在也是高三快要高考了很累 qwq……

目前所有的需要的代码也都已经写好了 包括 linux gpiochip 的驱动 用 C 写了新的固件和 UART 驱动 目前可以在 4M Baud 下稳定 RPC 了 因为原版固件的设计有一些小问题 如果 UART 丢一个 byte 就可能导致 GD32 固件挂死 而且 pinpong 的接口也不方便使用别的语言的人调用 所以我决定实现新的协议而不是为原有的固件和协议写一套标准驱动 这套协议未来会开源( maybe GPL-3.0-or-later )但是目前我觉得还是为时过早 有需求或者愿意一起开发的可以来问我要的

然后 UNIHIKER 库我也写了替代品 但是还没有写完 主要是不支持异步回调还有直接改 config 实在是太原始了…… 有兴趣可以一起来开发(? 这个项目是 Rust 写的

另外 我也做了一些别的东西 例如改了 USB 模拟串口替代 USB 虚拟网卡 SSH 的方式 还有共用的 SSH 主机密钥 还有串口设备名用的主机密钥前 64bit 的 16 进制表示作为区分 这样就可以天然支持一个电脑连接多个板子了

另外 如果有人需要进入 Maskrom 但是官方教程不行的话 可以试试用杜邦线短接 EMMC 旁边的电阻和 GND 基本上哪个都行 这个是做这么久的一个经验(x

其他的问题也可以一起交流的喵 ~

想要双休 😭

后续有新的上游合并进展或硬件适配结果时,会继续更新本帖。

创作许可协议

本项目采用 CC BY-NC-ND(署名-非商业性使用-禁止演绎) 进行许可。

评论(0)
- 没有更多了 -