2016-05-21 15 views
0

Ich möchte ejabberd für diesen Router kompilieren: Broadcom BCM4708A0, 2xARM Cortex A9, asuswrt-merlin 380.58_0.Wie erstelle ich eine eigene buildroot Toolchain?

Ich weiß, ich sollte meine eigene Toolchain erstellen, wo alle Bibliotheken und Umgebung mit Router übereinstimmen sollte.

Wie kann ich das tun? Ich habe nichts in buildroot manuell und google gefunden.

+0

Nun, das Ejabberd sollte innerhalb des Betriebssystems laufen, das bereits auf dem Router ist, oder? –

+0

Daher sollten Sie das SDK verwenden, das wahrscheinlich im selben Schritt generiert wurde wie das OS-Image. –

+0

Wenn Sie Ihr eigenes Betriebssystem rollen wollen, dann lesen Sie. Das wird kein Projekt für einen regnerischen Nachmittag sein. –

Antwort

1

Sie haben erwähnt, in einem halben Satz sind Sie bereits Asuswrt auf diesem Router läuft - so folgen Sie den Anweisungen auf https://github.com/RMerl/asuswrt-merlin/wiki

Sie haben auf jeden Fall Skripte automatisiert die richtigen SDKs zu erzeugen/bekommen, und Sie sollten innerhalb der Grenzen bleiben des für das asuswrt-Image verwendeten Build-Systems so weit wie möglich.

Wenn Sie das richtig gemacht haben, fügen Sie ejabberd Ihrem asuswrt-Image-Build-Prozess als Patch hinzu. Von da an können Sie einfach neue, voll funktionsfähige Dateisystem-Images erstellen, die Sie wie jedes andere Firmware-Image einfach "flashen" können.

Ein Wort zu Ihrer Wahl der Software: ejabberd ist ein beeindruckendes Stück Software, aber es ist auch nicht wirklich einfach auf Ihrem RAM. Das Ausführen auf Ihrem Router funktioniert möglicherweise nicht oder nicht. Was mich wirklich beunruhigt: Wenn nicht jemand anderes das vor Ihnen getan hat, benötigen Sie einen Erlang-Compiler, um Ihren Router anzusprechen - was dieses Projekt wirklich viel mehr involvieren könnte, als Sie derzeit denken. Ich habe das openWRT-Projekt überprüft, und niemand dort hat Ejabberd in sein Router-Firmware-Ökosystem gebracht, und wenn ich eine Vermutung hatte, ist das nicht, weil es unpopulär ist (ejabberd ist wahrscheinlich der wichtigste XMPP-Server), aber es ist weil es ist ziemlich schwer zu tun und Router-Hardware ist möglicherweise nicht die optimale Plattform, um darauf zu laufen.

OpenWRT verfügt über eine package for prosody mit umfangreicher Dokumentation zur Verwendung. Sie sollten Ihre Arbeit wahrscheinlich darauf basieren.

+0

Ja, scheint, Sie haben Recht. Ich werde nicht versuchen, Ejabberd auf Router zu starten –