Zabbix auf 4MB-Flash-Router installieren durch selber bauen mit LEDE Imagebuilder

LEDE (https://lede-project.org/) ist offenbar so etwas wie ein inoffizieller Nachfolger von OpenWrt. Es ist ein Fork, der auch weiterentwickelt wird und zu leben scheint.

Um Zabbix zu installieren (und aus Neugier) habe ich mal angefangen, mit dem LEDE Imagebuilder herumzuspielen: Er macht es viel einfacher, die Firmware selber zusammenzubauen (im Vergleich zum Selber-Compilieren).

(Hintergrund: Der Flash-Speicher ist auf meinem TP-Link TL-WR841N mit 4MB so klein, dass er beim Installieren von weiteren Paketen (z.B. Zabbix) immer mit Speicher-voll-Meldungen abbricht. Daher die Idee, das gleich in die Firmware zu integrieren.)

Hier kurz notiert, was ich gemacht habe:

wget https://downloads.lede-project.org/snapshots/targets/ar71xx/generic/lede-imagebuilder-ar71xx-generic.Linux-x86_64.tar.xz
tar xf lede-imagebuilder-ar71xx-generic.Linux-x86_64.tar.xz
cd lede-imagebuilder-ar71xx-generic.Linux-x86_64

make image PROFILE=tl-wr841-v11 PACKAGES="luci"  # "Basis-Version"
make image PROFILE=tl-wr841-v11 PACKAGES="zabbix-agentd zabbix-get zabbix-sender luci -ppp -ppp-mod-pppoe -odhcp6c -odhcpd -luci-proto-ppp -luci-proto-ipv6 -kmod-ppp -kmod-pppoe -kmod-pppox"  # Version mit zabbix
scp build_dir/target-mips_24kc_musl/linux-ar71xx_generic/tmp/lede-ar71xx-generic-tl-wr841-v11-squashfs-sysupgrade.bin root@tplinkap:/tmp

# Dann auf dem Router:
sysupgrade /tmp/lede-ar71xx-generic-tl-wr841-v11-squashfs-sysupgrade.bin

Danach sieht man z.B. sowas:

Status-Screen der Luci-Web-Oberfläche von LEDE

SSH-Login in LEDE

P.S. Meinen in Frankreich gekauften TP-Link “TL-WA850RE(FR) V1.20” konnte ich damit auch auf LEDE umstellen:

  • Nachdem er sich lange “gewehrt” hat und alle Firmware-Images beim versuchten Upgrade abgelehnt hat, habe ich hier eine Version gefunden, die er überhaupt akzeptiert hat – wenn auch eine Original-Firmware.
  • Zusammen mit dem beim LEDE-Build-Prozess verwendeten mktplinkfw bzw. dem Pendant aus OpenWrt konnte ich im funktionierenden Original-Image erkennen, dass zwar die Hardware ID mit der von LEDE erzeugten Firmware übereinstimmt – aber die Hardware Revision bei meinem Gerät offenbar 2 ist (statt 1) – und daher beim Firmware-Upgrade auch so erwartet wird.
  • Dies habe ich im Imagebuilder in target/linux/ar71xx/image/tp-link.mk angepasst: Im Abschnitt define Device/tl-wa850re-v1 einfach TPLINK_HWREV := 0x2 hinzugefügt. (NB. Patchen der HW Revision in der erzeugten Datei wäre vermutlich noch einfacher gewesen…)
  • Der nächste Aufruf make image PROFILE=tl-wa850re-v1 PACKAGES=" luci -ppp -ppp-mod-pppoe -odhcp6c -odhcpd -luci-proto-ppp -luci-proto-ipv6 -kmod-ppp -kmod-pppoe -kmod-pppox" hat mir ein lede-ar71xx-generic-tl-wa850re-v1-squashfs-factory.bin erzeugt, welches vom Router akzeptiert wurde. Puh.
  • Danach hatte ich einen LEDE-Router mit 64 MB RAM (offenbar hat die HW-Version 1.2 mehr – die 1.0 hat nur 32 MB).
  • Nun noch einmal mit sysupgrade -F ... ein “offizielles” lede-ar71xx-generic-tl-wa850re-v1-squashfs-sysupgrade.bin einspielen. Das -F bewirkt, dass die HW-ID/Revision nicht überprüft wird. Danach hält er sich beim nächsten Upgrade für eine Hardware Revision 1.
  • Ab jetzt geht alles normal.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert