Banana Pi R64 Der beste Router für OpenWrt oder nicht?

Bild

Hallo, mein Name ist Dmitry und heute werde ich den Banana Pi R64 Single-Board-Computer überprüfen. Wir werden lernen, wie man OpenWrt darauf installiert und wie man die Firmware für diesen Computer selbst zusammenbaut.

Auf Habré gibt es hier bereits eine Übersicht über diesen Computer , aber dort verwendet der Autor Armbian als Betriebssystem. Ich habe dieses Betriebssystem sowie Debian ausprobiert und bin zu dem Schluss gekommen, dass es kein besseres Betriebssystem zum Erstellen eines Routers als OpenWrt gibt. Hier sind die Gründe:

  1. Unter OpenWrt wird das Netzwerk automatisch konfiguriert, ohne dass Sie daran beteiligt sind. Unter Debian und Armbian müssen Sie das Netzwerk über die Konfigurationsdateien selbst konfigurieren.
  2. Die OpenWrt-Weboberfläche ist für die Routerverwaltung konzipiert. Debian und Armbian haben auch Webschnittstellen (Webmin usw.), die jedoch für die allgemeine Serververwaltung ausgelegt sind.
  3. Von den Vorteilen von Debian und Armbian kann ein einfacheres Dateisystem festgestellt werden, das unverändert angezeigt wird. OpenWrt hat ein sehr komplexes Dateisystem. Bestehend aus mehreren Einhängepunkten, von denen einige ein schreibgeschütztes Attribut haben.

So installieren Sie openwrt


Dieses Handbuch stammt aus dem offiziellen Banana PI-Forum: forum.banana-pi.org/c/Banana-Pi-BPI-R2 .

Um OpenWrt zu installieren, benötigen Sie:

  1. Micro SD Karte
  2. Enternet-Kabel
  3. USB-Uart-Adapter
  4. Win32 Diskimager
  5. TFTP-Server
  6. Kitt
  7. SD-Bild für Karte
  8. Stellen Sie sich ein Bild vor, das Sie in den internen Speicher des Geräts hochladen
  9. Der Preloader musste dieses Bild herunterladen

Verfahren:

  1. Füllen Sie das SD-Image mit Win32 Diskimager auf die SD-Karte
  2. Verbinden Sie den USB-Uart-Adapter mit den entsprechenden Kontakten auf der Karte (TX-Router - RX-Konverter, RX-Router - TX-Konverter, verbinden Sie die Masse), gehen Sie in Putty und stellen Sie eine Verbindung zum Com-Port her. Die Datenübertragungsgeschwindigkeit beträgt 115200. Sie können sehen, welchen Com-Port Sie benötigen Der Geräte-Manager ist normalerweise COM4.
  3. Legen Sie die Karte in Banana PI ein und schalten Sie sie ein.
  4. Wählen Sie im U-Boot-Menü 'b. Flash-Bild vom System laden und dann über TFTP in Flash schreiben (TFTP-Server muss aktiviert sein. Die Image-Datei muss sich im selben Ordner wie der TFTP-Server befinden. In den Netzwerkkarteneinstellungen müssen Sie die IP-Adresse und das Hauptgateway angeben).
  5. Nach der Firmware kehren wir mit dem Befehl bootmenu und der Option '7 zum U-Boot-Menü zurück. System Load Preloader Schreiben Sie dann über TFTP in Flash. Füllen Sie den Preloader aus (Diese Datei sollte sich auch im Ordner mit dem TFTP-Server befinden).
  6. Wir starten den Router neu und sehen OpenWrt. Das U-Boot-Menü ist jetzt ohne SD-Karte verfügbar. Beim Start wird es immer 3 Sekunden lang angezeigt.

Leider ist das Bild, das wir auf das Gerät hochgeladen haben, sehr alt. Daher können Sie beispielsweise keine zusätzlichen Anwendungen (Pakete) darauf installieren.

Wo bekomme ich OpenWrt?


Ich muss sagen, dass es zum Zeitpunkt dieses Schreibens keine stabile Version von OpenWrt für Bpi-R64 gibt. Dieses Gerät wird in der Entwicklungsbranche unterstützt , die Kompatibilität ist jedoch derzeit nicht vollständig. Das heißt, Sie können das initramfs-Image laden und es wird funktionieren. Dieses Image wurde jedoch erstellt, um sich mit OpenWrt vertraut zu machen. Es ist nur im RAM vorhanden. Nach dem Neustart des Geräts gehen alle Einstellungen und installierten Anwendungen verloren. Das Sysupgrade-Image funktioniert derzeit nicht. Wenn Sie es installieren, wird das Gerät einfach ständig neu gestartet.

Daher besteht die einzige Möglichkeit, ein funktionierendes Sysupgrade-Image zu erhalten, darin, es selbst mit Patches aus dem offiziellen Banana PI-Forum zu erstellen.

Ich habe das OpenWrt-Image bereits vom 16. April 2020 zusammengestellt. Dieses ImageBild .

Es enthält:

  1. Übertragung mit Webinterface
  2. Details zum NTFS-3G-Treiber hier
  3. Samba
  4. mc, nano, htop und andere Dienstprogramme

Um dieses Image zu installieren, gehen Sie zum U-Boot-Menü und wählen Sie die Option: 2) Linux-Kernel laden und dann über TFTP in Flash schreiben.
Wenn Sie jedoch Ihr eigenes Image erstellen möchten, gehen Sie wie folgt vor.

So erstellen Sie ein funktionierendes OpenWrt-Image


Da der Montage- und Vorbereitungsprozess sehr umfangreich ist, werde ich nur die Hauptpunkte beschreiben.

1) Zum Erstellen benötigen Sie eine virtuelle Maschine und ein Linux-Image. Wie man sie vorbereitet und wo man sie bekommt, wird hier beschrieben . Ich möchte darauf hinweisen, dass Sie in den Einstellungen der virtuellen Maschine unbedingt die Anzahl der Kerne Ihres Prozessors angeben müssen (standardmäßig 1). Der Kernel-Assemblierungsprozess ist sehr lang und auf einem Kern sogar noch länger.

2) Danach können Sie die Quelle von Git herunterladen müssen , wie es zu tun ist , beschrieben hier . Es ist notwendig, beim Befehl make menuconfig anzuhalten.

3) Gehen Sie zur Datei openwrt / target / linux / mediatek / makefile und ändern Sie die Kernelnummer von 5.4 auf 4.19. Es ist derzeit nicht möglich, ein OpenWrt-Image auf dem 5.4-Kernel zu erstellen.

4) Lassen Sie menuconfig Target-> Mediatck Arm, Subtarget-> mt7622, ​​Profile-> Banana Pi R64 auswählen. Sie können auch die zusätzlichen Pakete auswählen, die Sie benötigen. Dann verlassen wir mit Erhaltung.

5) mache defconfig Ich weiß nicht warum, aber sie machen immer diesen Befehl.

6) mache kernel_menuconfig -j5 die Zahl nach j wird berechnet als die Anzahl der Kerne deines Prozessors plus eins (ich habe einen Vierkernprozessor).

7) Nach einer halben Stunde Wartezeit wird hier das Kernel-Konfigurationsmenü angezeigt. Sie müssen folgende Optionen einstellen:
"Gerätetreiber" -> "MTD-Unterstützung (Memory Technology Device") -> "Parsing von Befehlszeilenpartitionstabellen"
"Gerätetreiber" - > "MTD-Unterstützung (Memory Technology Device)" "In sich geschlossene MTD-Gerätetreiber" -> "MTD mit Blockgerät"
"Gerätetreiber" -> "MMC / SD / SDIO-Kartenunterstützung" -> "MMC-Blockgerätetreiber"

8) Nehmen Sie diesen Patch und kopieren Sie ihn hier: openwrt / target / linux / mediatek / patches-4.19. (Ich möchte darauf hinweisen, dass dieser Patch ständig Kompilierungsfehler verursacht hat. Daher habe ich nur die Zeilen daraus in die Datei mt7622-bananapi-bpi-r64.dts kopiert, die sich hier befindet: openwrt / linux / mediatek / files-4.19 / arch / arm64 / boot / dts / mediatek)

9) make -j5

10) Nach dem Kompilieren befindet sich die Datei openwrt-mediatek-mt7622-bpi_bananapi-r64-squashfs-sysupgrade.bin, die Sie über die Menüoption u-boot flashen können, im Ordner bin: 2) System Load Linux Kernel schreibt dann über TFTP in Flash.

Fazit


Banana Pi ist ein sehr umstrittenes Gerät. Hohe Leistung wird mit hässlicher Unterstützung durch Entwickler kombiniert. Es gibt keine offizielle Firmware, aber die Unterstützung durch Entwickler von Drittanbietern ist mittelmäßig. Trotzdem ist es ein sehr leistungsfähiger Router mit 5 Gigabit-Ports, einem Gigabyte RAM und einem schnellen Dual-Core-Prozessor. Das heißt, es gibt nichts wie bei einem normalen Router, wenn Sie Transsmison zum Herunterladen bereitstellen und der Router pustet und knarrt, als würde er sterben. Hier hat der Betrieb der Übertragung keinen Einfluss auf die Reaktionsfähigkeit des Geräts.

Es ist auch erwähnenswert, dass das Gerät ohne Koffer verkauft wird. Daher muss der Körper es selbst tun. Aber wenn Sie einen 3D-Drucker haben, dann ist dies kein Problem. Hier ist meine Version.

PS Aktualisierte Firmware hinzugefügt Quality of Service

05/07/2020 Erneut aktualisiert die Firmware, hinzugefügt ntfs-3g-low eine schnellere Implementierung von ntfs.

PPS Meine kleinen Beobachtungen: OpenWrt beim Neustart generiert eine neue MAC-Adresse für das Gerät. Wenn beispielsweise mein Modem mit dem Router verbunden ist, muss ich auch neu starten, wenn der Router neu gestartet wurde und Windows ein neues Netzwerk findet (was nicht kritisch, aber ärgerlich ist). All dies wird gelöst, indem eine konstante MAC-Adresse für WAN und LAN festgelegt wird.

Dateien


  1. Meine Firmware bauen
  2. Einstellungen für die Menükonfiguration aus meinem Build
  3. Fall für Banana Pi R64 auf thingiverse

All Articles