一次适配 OpenWrt 的尝试 (orangepi win plus)

废文警告

本文为2022年的弃坑文,oragepi已经被同学买走了,实在是不想再折腾(无线部分还是很难安排),仅能为您带来点思路。

开篇废话

最近又擦了擦 orangepi 的灰尘,突然想研究下如何上 OpenWrt,于是就有了这篇教程。
适配思路在之前的文章也有发过,可以看下,理解适配缝合原理是很重要的。
大概思路是这样的
能启动 -> 完善驱动(构建 dtb,偷驱动文件) -> 正常使用(压力测试) -> 给 OpenWrt 项目发 pull request 污染邮件列表

适配需要大量的时间,请确认你认为这板子有折腾的价值,使用价值还是学习价值皆可,不要到最后你觉得白费那么多精力了大概就行。

正文

获得板子的参数

首先我们要知道我们手上派的芯片的型号,直接搜索下大概就有了。

  • soc: allwinner A64
  • wlan: AP6212

写 Makefile 文件

知道大概的芯片家族就可以写机器的 Makefile 了 在 h5/a64 家族,还有同厂商板子,其实很多操作我们只需要抄同芯片组的就行了,如图所示
makefile-op
我们使用全局搜索的办法,大概知道要至少在下面两个文件添加我们的设备
search-1

./lede/target/linux/sunxi/image/cortexa53.mkcortexa53.mk:
cortexa53.mk
我复制了一份 Orange Pi Zero Plus 的文件,改改就能用
h5 -> a64
xunlong_orangepi-zero-plus -> xunlong_orangepi-win

./lede/package/boot/uboot-sunxi/Makefile: uboot.mk
uboot 的 Makefile 我就选了是 A64 的板子改的,这里的前提是
uboot 官方支持你的板子,如果不支持的话就 gg 了(大概也不太可能?)。
其中 BUILD_DEVICES 是要能找到 dts 文件的,例如图片中的 xunlong_orangepi-win 那么就要有 sun50i-a64-orangepi-win.dts 的文件。

最后不要忘记在 UBOOT_TARGETS 增加你的设备

尝试编译 & 启动

上面的两个文件安排完后,不出意外就可以编译了,这里省略(就 make menuconfig && make -j8 就不写了)

用 etcher 之类的软件烧好 sd 卡,然后接上 HDMI 和有线,usb键盘之类的可能没法用,这里后面再说。

弃坑 & 总结

人间不值得.jpg
Armbian 看上去是自己编译了 wifi ko 进去,dtb 也专门改过,但是我不想再为这个垃圾硬件折腾任何东西,折腾的时候阵亡了张闪迪(一直插拔扣坏的),就彻底没折腾这玩意的动力,然后丢同学绕校园网认证去了。

sdcard boom