MikroTik RB4xx: OpenWrt-Installation

Aus FunkFeuer Wiki
Wechseln zu: Navigation, Suche

Allgemeines

MikroTik Routerbourds der Serie 4xx unterscheiden sich von anderer, bei 0xFF-Funkfeuer im Einsatz befindlicher Hardware dadurch, dass das sich das Device über einen Network-Bootvorgang ein Installationsimage von einem angeschlossenen Host (via TFTP) holt, über das das weitere Setup vorgenommen werden kann.


Grundvoraussetzungen

Windows-Host

  • TELNET/SSH/RS232 Client

Das Programm Putty eignet sich hervorragend, um mit dem Board im Zuge der Installation kommunizieren zu können. Es besitzt neben der TELNET/SSH-Funktionalität auch die Möglichkeit, mit dem Board über das serielle Interface kommunizieren zu können. (Wichtig um das Board in den gewünschten Betriebszustand zu versetzen, um flashen zu können.

  • TFTP-Server

Das Programm tftp32 ist ein kombinierter TFTP/DHCP/Syslog-Server, der benötigt wird, damit das Board den Netzwerkboot-Vorgang durchführen kann. Zusätzlich ist tftp32 auch ein TFTP-Client, mit dessen Hilfe andere Devices wie Bullets, Nanostation und Co. aus Windows heraus geflashed werden können.

  • WinSCP

Das Programm WinSCP ist ein sehr komfortables Kopierprogramm im Norton Commander Style, über das ein Fileaustausch zwischen lokalen und entfernten Verzeichnissen über die Protokolle FTP, SFTP und SCP möglich ist.

Linux-Host

Infos werden später aktualisisert


Basic-Setup

Hardware-Setup

Um das Board über Eternet booten zu können, muss es via RS232- UND LAN-Kabel mit dem PC verbunden sein. Erwartungsgemäß haben Notebooks leider keine seriellen Schnittstellen - es gibt jedoch RS232-USB Adapter, die ebenfalls gute Dienste leisten. Als Stromversorgung kann ein handelsübler passive-PoE Adapter oder das mitgelieferte Netzteil verwendet werden.


Installations-Images

Für die Istallation sind drei Files aus dem 0xFF-Backfire Vienna contrib-Repository erforderlich, die jeweils den aktuellen Stand der Entwicklung repräsentieren.

Diese sind:

Kopier dir bitte diese drei Files in ein Verzeichnis auf deinem lokalen PC.


Vorbereitung des TFTP-/DHCP-Servers (tftp32)

Basic-Settings

  • Im "Base Directory" wird jenes Verzeichnis eingetragen, in das du die drei Installationsfiles kopiert hast.
  • Wichtig ist, dass in den "Global Settings" TFTP- und DHCP-Server angehakt sind.


Tftp32 BasicSettings.jpg


DHCP Server-Einstellungen

  • Da OpenWrt nach dem Bootvorgang mit der IP 192.168.1.1 startet, ist es ratsam, den IP-Pool ebenfalls in diesen Bereich zu legen.
  • Sehr wichtig ist es, den DHCP-Pool nicht zu klein zu zu dimensionieren, da der Server bei Überschreiten keinne Adressen mehr vergibt und daher der Upload nicht mehr funktioniert.
  • Das Bootfile ist die Datei openwrt-ar71xx-vmlinux-initramfs.elf, die du bereits auf deinen PC kopiert hast.


DHCP-Server Setup.jpg


Vorbereitung des RS232-Terminal Programms (Putty)

  • Dazu musst du vorerst identifizieren, welchen COM-Port deine Schnittstelle zum Routerboard benutzt. Diese Info findest du je nach Windows-Version unter "Systemsteuerung/...Gerätemanager"
  • Jetzt den Button "Serial" anwählen und deinen COM-Port und die Übertragungsgeschwindigkeit 115200 (Bd) eintragen.
  • Es ist ratsam, die Einstellungen (wie dargestellt) mit einem frei vergebbaren Namen zu speichern.


Putty-SerialSession.jpg


Installation von 0xFF-Backfire Vienna am Routerboard

Init-Filesystem laden

Wie bereits erwähnt, versucht der Bootloader im Routerboard via DHCP-Request eine IP-Adresse aus dem festgelegten Pool (192.168.1.150ff) zu erhalten und fordert danach ein Bootfile an. In unserem Fall den Linux-Kernel, dem wir im DHCP Server-Setup festgelegt haben.

  • Dazu öffnen wir unsere RS232-Terminalprogramm, das wir zuvor eingerichtet haben
  • Nun versorgen wir das Board mit Strom und sollten es booten sehen
  • innerhalb der ersten 2 Sekunden muss nun eine Taste am PC gedrückt werden, um in das Setup-Menü des Boards zu gelangen.
  • Im Menü wählen wir den Buchstaben "o", um das Bootdevice festzulegen.
  • Mit "1" versetzen wir das Board in den Zustand, dass es einen ersten Bootvorgang über das LAN-Interface, den zweiten jedoch bereits vom Flash-Speicher (NAND) macht.
  • Mit "e" werden die Einstellungen gespeichert und das Board rebootet, lädt und führt das Filesystem aus.


RB-Setup2.jpg


Permanente Kernel- & RootFS-Installation im RB-Flash Speicher

Sollte alles geklappt haben, habt ihr jetzt ein voll funktionsfähiges Routerboard, das erst mal über die serielle Konsole (Putty) und über euren Browser (Adresse http://192.168.1.1 ) erreichbar ist. Wie bei OpenWrt üblich, ist das Gerät jedoch derzeit noch nicht über SCP oder SSH erreichbar. Dazu muss erst ein Passwort gesetzt werden.

Passwort festlegen um SCP und SSH zu aktivieren

Dies kann über "LuCI-Administration/System/Passwort ändern" oder über unsere Serielle Console erfolgen:

  • dazu das Kommando "passwd" eingeben
  • das Passwort festlegen und erneut bestätigen (Ungeeignete Passwörter werden wie im Beispiel aufgedeckt)


RB-SetPassword.jpg


Als nächsten Schritt kopieren wir nun die beiden restlichen Dateien in das /tmp-Verzeichnis unseres Boards. Zur Erinnerung, es sind die Files openwrt-ar71xx-vmlinux.elf und openwrt-ar71xx-rootfs.tar.gz. Dazu kann das oben beschriebene Programm WinSCP verwendet werden.

  • Mit "New" legen wir eine neue Session für unsere IP 192.168.1.1 an
  • und legen UserName (root) und unser kürzlich gewähltes Passwort fest
  • Als Protokoll verwenden wir Secure Copy (SCP) und speichern uns auch diese Session


WinSCP-Setup.jpg


  • Nun können wir die Session starten. Eine Fehlermeldung ist zu bestätigen, da OpenWrt keine Groups angelegt hat.
  • Danach sind wir bereits auf unserem Router eingeloggt und können die beiden Datein in das /tmp-Verzeichnis kopieren.


WinSCP-CopyRB.jpg


  • Nun wechseln wir wieder zu unserem RS232-Terminal Programm und führen folgende Befehle aus.(Sie können einfach kopiert und mit einem Rechtsklick im Putty eingefügt werden):
mount /dev/mtdblock1 /mnt/
mv /tmp/openwrt-ar71xx-vmlinux.elf /mnt/kernel
umount /mnt/
mount /dev/mtdblock2 /mnt/
mv /tmp/openwrt-ar71xx-rootfs.tar.gz /mnt/
cd /mnt
gzip -d openwrt-ar71xx-rootfs.tar.gz
tar xvf openwrt-ar71xx-rootfs.tar
rm -f openwrt-ar71xx-rootfs.tar
cd /
umount /mnt

Duch diesen Vorgang wird der Kernel und das Root-Filesystem in den Flash-Speicher geschrieben, sowie der 0xFF-Wizard ausgeführt. Dieser nimmt alle relevanten Grundeinstellungen für den Betrieb des Routerboards im Netz der Wiener Funkfeuer-Community vor.

Nun ist das Device über die Adresse http://192.168.1.1 erreichbar und kann entsprechend deinen Anforderungen konfiguriert werden. Hintergrundinfos und das Setup von OxFF-Backfire Vienna findest du hier.