bpi-r4新固件体验——immortalwrt-mt798x,支持硬件加速和硬件QOS
Banana Pi BPI-R4这个路由器开发板已经发布很长时间了,但是官方固件基本等于不能用。官方源码小问题不断,还一直不修复。年前openwrt主线支持了bpi-r4,但对硬件加速支持欠佳。所以这个开发板被我搁置了快半年时间。


好在mtk路由器芯片的开源支持还不错,在chh论坛up:主机狂一个和237大佬的努力下。总算适配了bpi-r4的固件,已经支持闭源特性,硬件加速等等。
不知道是我的编译环境有问题还是配置有问题,237大佬的源码我是没有编译成功。一直提示mt76222的dts文件打补丁失败,修复补丁后又mt7622的dts语法错误,无法生成镜像,好在所选的软件包可以正常编译。于是使用“主机狂一个”的成品镜像配合编译出来的软件包拼凑出一个满足我使用需求的的固件。
我也是很纳闷bpi-r4上用的mt7988处理器干嘛要同时编译mt7622的dts!本人水货一个不大懂,不知道有没有懂的大佬指点一下。
先简单的说一下bpi-r4和mt7988这个处理器。bpi-r4是双万兆光和4电口的路由器开发版,配了4g内存,8g emmc和128MB spi flash,支持从sd卡,emmc,flash启动。一个nvme固态接口,一个m.2 wifi接口,两个minipci-e接口未来用于安装wifi7子卡,一个usb3.0接口,3个sim卡槽,一个sd卡槽,支持12vdc供电或者20vpd供电。
mt7988的cpu部分是四核a73的,主频1.8g,集成三个ppe网络处理器,分别对应3个网卡。内部集成交换机,4个千兆口就是从这个交换机出来的,交换机上连第一个网卡,链路带宽10g。这里我就非常纳闷了。为什么发哥不把内部的交换机升级为2.5g的了,四个2.5g正好吃满10g的链路带宽。就算出于成本考虑,把eth0做一个mux,让用户选择使用内部交换机还是直通出去使用,这样子就有3个万兆口了。
镜像扩容
成品镜像的rootfs分区容量只有256MB,可用只有100MB多点。连docker都装不上,所以需要给镜像扩容。
需要准备一个ubuntu系统,并将bpi-r4的sd卡镜像上传到ubuntu系统中。
我的镜像名叫"mtk-bpi-r4-SD.img",通过下面的命令将镜像扩容多2G。可以根据自己的需求扩容更过容量,2G的rootfs分区容量基本够我用了。
dd if=/dev/zero bs=1G count=2 >> mtk-bpi-r4-SD.img
输入下面的命令编辑镜像,给rootfs分区扩容
sudo parted mtk-bpi-r4-SD.img
resizepart 6 100%

这样子就扩容好了,将镜像写入到的sd卡中就可以了。
安装docker和nvme驱动
这个成品镜像是很素的,只有一些基本的插件。由于镜像没有集成 nvme驱动,因此无法识别nvme硬盘,需要自行安装。
又由于nvme驱动是内核模块,openwrt在安装内核模块的时候要检验哈希值,如果内核哈希和内核模块哈希对不上就没办法安装。所以我们需要在编译时指定哈希值。
首先镜像对应的源码,然后ssh上路由器通过这个命令查看当前镜像的内核哈希
opkg info kernel
红框内的就是内核的哈希值

在编译固件时,在编译命令补充这个命令既可以编译指定哈希值的插件“LINUX_VERMAGIC:=64ef87412604991da1634f04cf9d69af”,比如
make -j4 V=s LINUX_VERMAGIC:=64ef87412604991da1634f04cf9d69af
如果不嫌弃的话也可以使用我修改好的镜像和部分编译好的插件和内核模块,主要包括nvme支持和docker相关的插件。

如果如是
校验提示文案
大法今天倒闭了嘛
大佬冒昧问一下,这个大概是如何实现的?
校验提示文案
值友3014077281
校验提示文案
huangya90
校验提示文案
jonirrings
等无线模块出来,感觉就能当一个常规主路由用了。
校验提示文案
猜我猜不猜
校验提示文案
值友1295482546
校验提示文案
临风可听雨
校验提示文案
临风可听雨
校验提示文案
值友1295482546
校验提示文案
猜我猜不猜
校验提示文案
jonirrings
等无线模块出来,感觉就能当一个常规主路由用了。
校验提示文案
huangya90
校验提示文案
值友3014077281
校验提示文案
大法今天倒闭了嘛
大佬冒昧问一下,这个大概是如何实现的?
校验提示文案
如果如是
校验提示文案