Banana Pi R64是否是OpenWrt的最佳路由器?

图片

您好,我叫Dmitry,今天我将回顾Banana Pi R64单板计算机。我们将学习如何在其上安装OpenWrt以及如何为该计算机本身组装固件。

因此,在Habré上已经有关于此计算机的概述但是在这里作者使用Armbian作为OS。我尝试了这个操作系统以及Debian,得出的结论是,没有比OpenWrt更好的操作系统来创建路由器,原因如下:

  1. 在OpenWrt上,无需您的任何参与即可自动配置网络。在Debian和Armbian上,您需要通过配置文件自己配置网络。
  2. OpenWrt Web界面专为路由器管理而设计。Debian和Armbian也具有Web界面(Webmin等),但是它们是为常规服务器管理而设计的。
  3. 在Debian和Armbian的优点中,可以注意到一个更简单的文件系统,它按原样显示。OpenWrt具有非常复杂的文件系统。由几个安装点组成,其中一些具有只读属性。

如何安装openwrt


本手册摘自Banana PI官方论坛:forum.banana-pi.org/c/Banana-Pi-BPI-R2

要安装OpenWrt,您将需要:

  1. 微型SD卡
  2. Enternet电缆
  3. USB-UART适配器
  4. Win32 diskimager
  5. TFTP服务器
  6. 油灰
  7. 卡的SD图像
  8. 您上传到设备内存的图像
  9. 预加载器需要下载此图像

程序:

  1. 使用Win32 Diskimager将SD图像填充到SD卡中
  2. 将Usb-Uart适配器连接到板上的相应触点(TX路由器-Rx转换器,Rx路由器-Tx转换器,接地),进入Putty并连接到Com端口,数据传输速度为115200。您可以在其中看到所需的Com端口设备管理器通常是COM4。
  3. 将卡插入Banana PI中并打开。
  4. 在U-boot菜单中,选择'b。系统加载flashimage,然后通过TFTP写入Flash(必须启用TFTP服务器。图像文件必须与TFTP服务器放在同一文件夹中。在网卡设置中,必须指定IP地址和主网关)。
  5. 固件完成后,我们使用bootmenu命令和'7选项返回U-Boot菜单。然后,系统加载预加载器通过TFTP'写入预加载器中(此文件也应位于TFTP服务器的文件夹中)。
  6. 我们重启路由器并查看OpenWrt。U-boot菜单现在可在没有SD卡的情况下使用,现在在启动时将始终显示3秒钟。

不幸的是,我们上传到设备的图像非常旧。因此,例如,您不能在其上安装其他应用程序(程序包)。

在哪里获得OpenWrt?


我必须说,在撰写本文时,还没有用于Bpi-R64的OpenWrt的稳定版本。开发分支中对此设备提供了支持,但是目前兼容性还不完整。也就是说,您可以加载initramfs映像,它将起作用。但是创建该映像是为了熟悉OpenWrt,它仅存在于RAM中,并且在重启设备后,所有设置和已安装的应用程序都将丢失。 sysupgrade映像当前无法正常工作,如果您安装了该映像,则设备将不断地重启。

因此,获得有效的sysupgrade映像的唯一方法是使用官方Banana PI论坛中的补丁程序自己构建它。

我已经组装了从2020年4月16日开始的OpenWrt图像。形象

这包括:

  1. 通过网络界面传输
  2. NTFS-3G驱动程序详细信息在这里
  3. 桑巴舞
  4. mc,nano,htop和其他实用程序

要安装此映像,请转到U-boot菜单并选择以下选项:2)System Load Linux Kernel,然后通过TFTP写入Flash。
但是,如果您想构建自己的图像,请按照以下步骤操作。

如何建立有效的OpenWrt映像


由于组装和准备的过程非常繁琐,因此我仅介绍要点。

1)要构建,您需要一个虚拟机和一个Linux映像。这里描述如何准备它们以及从何处获得它们。我要注意,在虚拟机的设置中,请确保指定处理器的内核数(默认为1)。内核组装过程很长,而在一个内核上,组装过程甚至会更长。

2)之后,你需要下载从SVN源如何做到这一点说明在这里。必须在make menuconfig命令处停止

。3)转到openwrt / target / linux / mediatek / makefile文件,并将内核号从5.4更改为4.19。当前无法在5.4内核上构建OpenWrt映像。

4)使menuconfig选择Target-> Mediatck Arm,Subtarget-> mt7622,Profile-> Banana Pi R64。您还可以选择所需的其他软件包。然后我们退出保护。

5)make defconfig我不知道为什么,但是他们总是执行此命令。

6)使kernel_menuconfig -j5在j之后的数字计算为您处理器的内核数加一(我有四核处理器)。

7)等待半小时后,将在此处显示内核配置菜单,您需要设置以下选项:
“设备驱动程序”->“内存技术设备(MTD)支持”->“命令行分区表解析”
“设备驱动程序”- >“支持内存技术设备(MTD)”“自包含的MTD设备驱动程序”->“使用块设备的MTD”
“设备驱动程序”->“ MMC / SD / SDIO卡支持”->“ MMC块设备驱动程序”

8)获取此补丁并将其复制到此处:openwrt / target / linux / mediatek / patch-4.19。(我想指出的是,这个补丁不断地导致编译错误。因此,我只是将其中的行复制到了mt7622-bananapi-bpi-r64.dts文件,该文件位于此处:openwrt / linux / mediatek / files-4.19 / arch / arm64 / boot / dts / mediatek)

9)创建-j5

10)编译后,可以通过u-boot菜单选项进行刷新的openwrt-mediatek-mt7622-bpi_bananapi-r64-squashfs-sysupgrade.bin文件将位于bin文件夹中:2)然后,系统加载Linux内核通过TFTP写入Flash。

结论


Banana Pi是一个很有争议的设备。高性能与开发人员的丑陋支持相结合。没有官方固件,但是第三方开发人员的支持很一般。但它仍然是一款功能非常强大的路由器,具有5个千兆位端口,1 GB RAM和一个快速双核处理器。就是说,当您将Transsmison进行下载并且路由器会喘气和吱吱作响时,就好像没有普通路由器那样。在此,传输操作不会影响设备的响应能力。

还值得注意的是,该设备不带外壳出售。因此,身体必须自己做。但是,如果您有一台3D打印机,那么这不是问题,这是我的版本

PS更新了固件添加了服务质量

2020年5月7日再次更新固件,添加了ntfs-3g-低了ntfs的更快实现。

PPS我的小观察:重启时OpenWrt会为设备生成一个新的MAC地址。例如,连接到路由器的调制解调器,如果路由器被重新引导,并且Windows找到新的网络(这并不重要,但很烦人),我也需要重新引导。通过为wan和lan设置一个恒定的MAC地址,可以解决所有这些问题。

档案


  1. 我的固件版本
  2. 我的构建中菜单配置的设置
  3. 香蕉皮R64外壳

All Articles