Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
technik:hardware:futro-s900 [10.04.2022 - 17:31] – Hardwarebeschreibung erweitert Konrad Panzlaff | technik:hardware:futro-s900 [28.10.2023 - 16:34] (aktuell) – [Vorbereitung USB-Stick mit FFS-Image] Patrick | ||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
===== Einleitung ===== | ===== Einleitung ===== | ||
- | Diese Seite ist noch im Aufbau, um die veraltete Seite [[technik: | + | Dieser Beitrag |
- | Die Futros sind zwar schon relativ alt, bieten aber dennoch eine preiswerte Möglichkeit | + | Im Sommer 2022 entstand dieser Beitrag |
- | Der Futro S900 steht exemplarisch für die Futro-Baureihe oder auch jeden anderen x86-PC. Vom Prinzip her läßt sich diese Anleitung direkt auf andere Hardware-Plattformen übertragen. | + | Diese Anleitung gilt dementsprechend ab Gluon 2.6. Mit dieser Version sind die hier ausgewiesenen Modifikationen in der Netzwerkonfiguration erstmals updatefest! |
+ | |||
+ | Die Futros sind im Herbst 2022 zwar schon relativ alt, bieten aber dennoch eine preiswerte Möglichkeit für einen potenten, lautlosen Offloader mit großer Flexibilität. Nachteil ist der vergleichsweise große Stromverbrauch von gemessenen 15 Watt (inklusive Erweiterung einer Dual-NIC HP NC7170). | ||
+ | |||
+ | Der Futro S900 steht exemplarisch für die Futro-Baureihe oder auch jeden anderen x86-PC | ||
===== Vorbereitung ===== | ===== Vorbereitung ===== | ||
- | Benötigtes | + | Als "Handwerkszeug" werden vorübergehend benötigt: |
+ | * ein Standard-PC mit Browser | ||
+ | * ein Monitor mit DVI- oder Displayport-Anschluß (für die lokale Konsole des Futro) | ||
+ | * eine USB-Tastatur (für die lokale Konsole des Futro) | ||
+ | * ein USB-Stick | ||
+ | * alternativ ein USB-CDROM-Laufwerk | ||
+ | * ein zweiter | ||
+ | |||
+ | Welches Live-Linux verwendet wird, ist völlig egal. In den Beispielen fand Desinfec' | ||
===== Benötigte Hardware ===== | ===== Benötigte Hardware ===== | ||
- | Der Futro S900 hat eine Netzwerkkarte (NIC) auf dem Mainboard. Dazu kommt er häufig mir einer mSATA-SSD von 2 GByte sowie 2 GByte RAM. Dieser Speicherausbau reicht dicke, ein Massenspeicher mit 250 MByte sowie 1 GByte RAM reichen vollkommen. Dazu wird eine zweite NIC benötigt. Auf Ebay gibt es manchmal Futros mit bereits eingebauter zweiter NIC. Dann kann der Futro ohne Modifikation direkt als Offloader verwendet werden. | + | Generell bietet Ebay eine gute Auswahl an gebrauchter Hardware. Die angegebenen Geräte sind im Herbst 2022 dort zu den angegebenen Preisen gut erhältlich. |
- | Ansonsten muß eine zweite NIC in den Erweiterungsslot des Futro eingebaut werden. Aber Achtung: es passt nur eine Karte mit Low Profile in den Futro! Wer Übung im Umgang | + | Der Futro S900 hat ein Netzwerkinterface (NIC; Netzwerkschnittstelle) auf dem Mainboard. Dazu kommen die Futros häufig |
- | Riser-Karte, PCI-Karte, Ein- und Zusammenbau | + | Dazu wird eine zweite NIC benötigt. Auf Ebay gibt es manchmal Futros mit bereits eingebauter zweiter NIC. Dann kann der Futro ohne Modifikation direkt als Offloader verwendet werden. |
+ | |||
+ | Wenn nicht bereits eine zweite NIC eingebaut ist, muß diese in den Erweiterungsslot des Futro eingebaut werden. Aber Achtung: es passt nur eine Karte mit Low Profile in den Futro! Wer Übung z.B. im Umgang mit einem Dremel hat, kann Full Profile Slotbleche auch recht problemlos nachträglich kürzen. PCI- und PCI-X-NICs mit dem benötigten Low Profile sind sehr rar! Wer vor der Anpassung der Slotbleche zurückschreckt, | ||
+ | |||
+ | Um die PCI-Karte | ||
+ | |||
+ | Das führt zu folgender Stückliste: | ||
+ | * Futro S900: min. 256 MByte RAM, Massenspeicher >256 MByte. Dazu Netzteil und ggf. Ständer (ca. 15 bis 25 Euro) | ||
+ | * Ggf. zweite NIC: PCI oder PCI-X Single-NIC, z.B. mit Reaktek 8139D Chipsatz (ab 3 Euro), oder Intel Pro/100 (ab 5 Euro), oder Intel Pro/1000 XT (ab 10 Euro) | ||
+ | * Alternativ PCI-X Dual-NIC, z.B. HP NC7170 (ab 10 Euro) | ||
+ | * PCI Riser Card für Futro (ab 8 Euro) | ||
+ | |||
+ | Der Ein- und Zusammenbau | ||
===== Installation ===== | ===== Installation ===== | ||
+ | |||
+ | ==== Vorbereitung USB-Stick mit FFS-Image ==== | ||
+ | |||
+ | Zu Beginn das passende Gluon-Image von https:// | ||
+ | |||
+ | Das Image ist gz-komprimiert. Dieses Image mit einem geeigneten Programm entpacken (auf der Konsole mit //gunzip//, in grafischer Benutzeroberfläche mit beliebigem anderen Tool). Danach liegt das entpackte Image im Beispiel als // | ||
==== Konfiguration des BIOS ==== | ==== Konfiguration des BIOS ==== | ||
- | Einschalten nach Verlust Power, ... | + | Bevor der Futro mit Software bespielt wird, sollten ein paar Einstellungen im BIOS vorgenommen werden. Den Futro nun startklar machen mit USB-Tastatur und DVI- oder DP-Monitor. Dazu USB-Stick oder -CDROM mit Live-Linux anstecken. **Achtung: |
+ | |||
+ | Nun Futro einschalten und die BIOS-Einstellungen mit < | ||
+ | * Advanced / SATA Configuration / OnChip SATA-Type: " | ||
+ | * Security / User Password on Boot: " | ||
+ | * Security / HDD Password on Boot: " | ||
+ | * Power / Power Failure Recovery: " | ||
+ | * Boot / Quiet Boot: " | ||
+ | * Boot / POST Errors: " | ||
+ | * Boot / Boot error handling: " | ||
+ | * Boot / Boot Option Priorities: <so einstellen, dass USB-Stick bzw. USB-CDROM an erster Stelle steht> | ||
+ | * Save & Exit / Save as User Defaults: < | ||
+ | * Save & Exit / Save Changes & Exit: < | ||
==== Installation mit Live-Linux ==== | ==== Installation mit Live-Linux ==== | ||
- | mit Live-Linux | + | === Hinweis === |
+ | |||
+ | Der hier angegebene Installationsweg ist verwendbar, egal ob zwei, drei oder noch mehr NICs im Futro installiert sind. | ||
+ | |||
+ | === NICs testen und MACs zuordnen === | ||
+ | |||
+ | Nun alle ggf. noch gesteckten LAN-Kabel entfernen und dann den Futro mit dem Live-Linux | ||
+ | < | ||
+ | desinfect@desinfect: | ||
+ | 1: lo: < | ||
+ | link/ | ||
+ | inet 127.0.0.1/8 scope host lo | ||
+ | | ||
+ | inet6 ::1/128 scope host | ||
+ | | ||
+ | 2: enp1s0: < | ||
+ | link/ether 90: | ||
+ | 3: enp2s7f0: < | ||
+ | link/ether 00: | ||
+ | 4: enp2s7f1: < | ||
+ | link/ether 00: | ||
+ | desinfect@desinfect: | ||
+ | </ | ||
+ | |||
+ | In dem o.g. Beispiel sind drei NICs zu sehen. Die MAC 90: | ||
+ | |||
+ | < | ||
+ | desinfect@desinfect: | ||
+ | 1: lo: < | ||
+ | link/ | ||
+ | inet 127.0.0.1/8 scope host lo | ||
+ | | ||
+ | inet6 ::1/128 scope host | ||
+ | | ||
+ | 2: enp1s0: < | ||
+ | link/ether 90: | ||
+ | 3: enp2s7f0: < | ||
+ | link/ether 00: | ||
+ | 4: enp2s7f1: < | ||
+ | link/ether 00: | ||
+ | inet 192.168.100.37/ | ||
+ | | ||
+ | inet6 fe80:: | ||
+ | | ||
+ | desinfect@desinfect: | ||
+ | </ | ||
+ | |||
+ | Die NIC-Schnittstelle enp2s7f1 hat die IP-Adresse 192.168.100.37 vom häuslichen Router erhalten, die NIC funktioniert. Nun die MAC für diese NIC notieren, ggf. auf das Gehäuse schreiben, abschließend das LAN-Kabel bei der ersten NIC entfernen. | ||
+ | |||
+ | Diese Schritte Stecken des LAN-Kabels und //ip addr// zur Bestimmung der MACs und Zuordnung zu den Buchsen | ||
+ | |||
+ | Der Erfahrung nach wird später bei der Installation von Gluon bei drei NICs folgende Zuordnung vorgenommen: | ||
+ | * eth0: < | ||
+ | * eth1: <nächst höhere MAC> --> WAN-Anschluß | ||
+ | * eth2: < | ||
+ | |||
+ | === Massenspeicher | ||
+ | |||
+ | Nun noch prüfen, unter welchem Device-Namen der Massenspeicher im Futro ansprechbar ist, meist // /dev/sda// . Dazu in der Konsole //sudo fdisk /dev/sda// aufrufen: | ||
+ | < | ||
+ | desinfect@desinfect: | ||
+ | |||
+ | Willkommen bei fdisk (util-linux 2.34). | ||
+ | Änderungen werden vorerst nur im Speicher vorgenommen, | ||
+ | entscheiden, | ||
+ | Seien Sie vorsichtig, bevor Sie den Schreibbefehl anwenden. | ||
+ | |||
+ | |||
+ | Befehl (m für Hilfe): p | ||
+ | Festplatte /dev/sda: 1,87 GiB, 1987051520 Bytes, 3880960 Sektoren <--- Größe des Massenspeichers | ||
+ | Festplattenmodell: | ||
+ | Einheiten: Sektoren von 1 * 512 = 512 Bytes | ||
+ | Sektorgröße (logisch/ | ||
+ | E/A-Größe (minimal/ | ||
+ | Festplattenbezeichnungstyp: | ||
+ | Festplattenbezeichner: | ||
+ | |||
+ | Gerät | ||
+ | / | ||
+ | / | ||
+ | |||
+ | Befehl (m für Hilfe): q | ||
+ | |||
+ | desinfect@desinfect: | ||
+ | </ | ||
+ | |||
+ | Im Futro aus dem Beispiel ist eine InnoDisk mit 2 GByte eingebaut, die hier tatsächlich unter /dev/sda zu erreichen ist, was "zu beweisen" | ||
+ | |||
+ | === Image mit dd schreiben | ||
+ | |||
+ | Nun den Stick mit der Image-Datei // | ||
+ | |||
+ | < | ||
+ | desinfect@desinfect:/ | ||
+ | insgesamt 252064 | ||
+ | -rw-r--r-- 1 desinfect desinfect | ||
+ | -rw-r--r-- 1 desinfect desinfect 126353408 Apr 9 07:25 gluon-ffs-2.3+2021-06-03-g.d9632c77-s.0ec0f66-x86-64.img | ||
+ | -rw-r--r-- 1 desinfect desinfect 126353408 Apr 8 16:53 gluon-ffs-2.4+2022-02-26-g.75bd58bc-s.fc98d5f-x86-64.img | ||
+ | desinfect@desinfect:/ | ||
+ | </ | ||
+ | |||
+ | Im obigen Beispiel sind neben dem gewünschten Image zwei weitere Images vorhanden. Dann mit //sudo dd// das Image nach /// | ||
+ | |||
+ | < | ||
+ | desinfect@desinfect:/ | ||
+ | 115343360 Bytes (115 MB, 110 MiB) kopiert, 6 s, 19,1 MB/s | ||
+ | 24+1 Datensätze ein | ||
+ | 24+1 Datensätze aus | ||
+ | 126353408 Bytes (126 MB, 120 MiB) kopiert, 9,24782 s, 13,7 MB/s | ||
+ | desinfect@desinfect:/ | ||
+ | desinfect@desinfect:/ | ||
+ | </ | ||
+ | |||
+ | Das Live-Linux nun herunterfahren und anschließend die beiden USB-Sticks entfernen. Damit ist der Futro mit der Freifunk-Firmware fertig " | ||
+ | |||
+ | === Alternative: | ||
+ | |||
+ | Der Massenspeicher kann alternativ auch ohne Live-Linux betankt werden, wenn der Massenspeicher ausgebaut wird und z.B. über einen USB-Adapter an ein Linux-System angesteckt wird. Auch über diese Weise kann das heruntergeladene Gluon-Image (analog zu oben mit dem Live-Linux auf dem Futro) mit //dd// auf den Massenspeicher geschrieben werden. Nach Ende des Schreibens den Massenspeicher abstecken und wieder in den Futro einbauen. | ||
+ | |||
+ | ==== Im Configmodus starten ==== | ||
+ | |||
+ | Nun folgende Schritte durchführen: | ||
+ | * Den Futro mit entfernten USB-Sticks und entferntem LAN-Kabeln, aber gesteckter USB-Tastatur und gestecktem Monitor starten. Der Futro bootet nun mit dem Freifunk-Image. Auf dem Monitor tauchen die Kernelmeldungen auf. Nach ca. 15 Sekunden ist das Image komplett gestartet und es tauchen keine neuen Kernelmeldungen mehr auf. | ||
+ | * Einmal die < | ||
+ | * Den Standard-PC ohne gestecktes LAN-Kabel starten. Die im PC eingebaute NIC in den DHCP-Modus bringen. | ||
+ | * Konsole im PC öffnen und schauen, dass die die NIC keine IP-Adresse zugewiesen bekommen hat. Das geht in Windows mit // | ||
+ | * Nun den PC per LAN-Kabel mit der NIC des Futro mit der niedrigsten NIC verbinden. Auf der Konsole des **Futro** taucht eine Kernel-Meldung auf, dass "eth0 NIC Link is Up..." | ||
+ | * Einen Moment später am Standard-PC erneut prüfen, ob der NIC im PC nun eine IP-Adresse aus dem Bereich 192.168.1.0/ | ||
+ | * Nun den Browser des PC starten und http:// | ||
+ | * Zum Schluß die Konfiguration abspeichern und den Futro neu starten. | ||
+ | |||
+ | ==== Test ==== | ||
+ | |||
+ | Nach Neustart ist der Futro einsatzbereit: | ||
+ | * die NIC mit der niedrigsten MAC-Adresse (eth0) ist die LAN-Schnittstelle. Über diese wurde per Configmode der Futro auch konfiguriert. Diese je nach Konfiguration nun für ein Client- oder Mesh-Netzwerk einsetzen und mit den weiteren Nodes verbinden. | ||
+ | * die NIC mit der zweitniedrigsten MAC-Adresse (eth1) ist die WAN-Schnittstelle. Diese Schnittstelle z.B. mit dem Heimrouter mit Internetzugang verbinden. | ||
+ | |||
+ | Nach einigen Minuten sollte der Futro einsatzbereit sein und z.B. über https:// | ||
+ | |||
+ | ===== Besonderheiten bei dritter NIC ===== | ||
+ | |||
+ | Eine dritte und alle weiteren NICs sind unter Gluon im Standard funktionslos. Bis Gluon 2.5 waren manuell durchgeführte Modifikationen in der Netzwerkonfiguration (z.B. für eine dritte Netzwerkkarte) nicht garantiert updatefest. Das hat sich ab Gluon 2.6 geändert: die Änderungen sind updatefest, wenn die richtigen Konfigurationsdateien geändert werden. **Achtung: | ||
+ | |||
+ | Mit ein klein wenig Mehraufwand kann man eine dritte NIC in die Konfiguration integrieren und sowohl Client- als auch Mesh-Netzwerk d.h. parallel aus dem Futro herausführen. Die dafür nötigen manuellen Eingriffe werden im Weiteren dargestellt, | ||
+ | |||
+ | Für die Dateibearbeitungen verwenden wir die lokale Konsole des Futro und den integrierten Editor VI. Dieser Editor ist gewöhnungsbedürftig, | ||
+ | |||
+ | Für die Bearbeitung auf der lokalen Konsole ist zudem zu beachten, dass als Default-Keyboard-Layout eine US-Tastatur eingestellt ist. Bitte z.B. hier nachlesen, wie die Tastenbelegung ist: https:// | ||
- | Runterfahren, | + | === Manuelle Eingriffe für die dritte NIC als Mesh === |
- | ==== Besonderheiten bei dritter NIC ==== | + | Futro starten. Entweder über SSH oder lokal auf der Konsole des Futro einloggen. Nun folgende Befehle eingeben: |
+ | < | ||
+ | root@71522-aspacher-strasse-70-uplink-neu: | ||
+ | root@71522-aspacher-strasse-70-uplink-neu: | ||
+ | root@71522-aspacher-strasse-70-uplink-neu: | ||
+ | root@71522-aspacher-strasse-70-uplink-neu: | ||
+ | root@71522-aspacher-strasse-70-uplink-neu: | ||
+ | root@71522-aspacher-strasse-70-uplink-neu: | ||
+ | Configuring: | ||
+ | cfg030f15 | ||
+ | cfg01e48a | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | Configuring: | ||
+ | root@71522-aspacher-strasse-70-uplink-neu: | ||
+ | </ | ||
+ | Der Befehl // | ||
- | Nicht zwangsläufig updatefest. Vorsicht bei erneuter Nutzung des Configmodes | + | Nun erneutes Verbinden mit den Gateways prüfen: |
+ | < | ||
+ | root@71522-obere-bahnhofstr-26-uplink: | ||
+ | [B.A.T.M.A.N. adv 2022.0-openwrt-5, | ||
+ | Router | ||
+ | 02: | ||
+ | * 02: | ||
+ | 02: | ||
+ | 02: | ||
+ | root@71522-obere-bahnhofstr-26-uplink: | ||
+ | </ | ||
+ | Mesh-VPN ist mit einem Gateway verbunden. | ||
- | Voraussetzungen für Konfiguration der dritten NIC | + | //brctl show// muss die entsprechenden Interfaces in //br-wan// und // |
+ | < | ||
+ | root@71522-obere-bahnhofstr-26-uplink: | ||
+ | bridge name | ||
+ | br-client | ||
+ | bat0 | ||
+ | local-port | ||
+ | br-wan | ||
+ | root@71522-obere-bahnhofstr-26-uplink: | ||
+ | </ | ||
- | Modifikation von /etc/config/network | + | Nun mit //batctl if// prüfen, ob das entsprechende Interface für Mesh (im Beispiel //eth2//) enthalten ist. **Achtung: |
- | ===== Persistenz ===== | + | < |
+ | root@71522-obere-bahnhofstr-26-uplink: | ||
+ | eth2: active | ||
+ | primary0: active | ||
+ | mesh-vpn: active | ||
+ | root@71522-obere-bahnhofstr-26-uplink: | ||
+ | </ | ||
- | muß hier was rein? | + | Abschließend den Futro mit der gesamten Konfiguration testen: |
+ | * eth0: Client-Netzwerk | ||
+ | * eth1: WAN (Uplink) | ||
+ | * eth2: Mesh-on-LAN-Netzwerk | ||