我想为此路由器编译ejabberd:Broadcom BCM4708A0,2xARM Cortex A9,asuswrt-merlin 380.58_0。
我知道我应该创建自己的工具链,其中所有的库和环境应该匹配路由器。
我该怎么做?我在buildroot手册和google中找不到任何内容。
答案 0 :(得分:1)
您在半个句子中提到您已在该路由器上运行Asuswrt - 请按照https://github.com/RMerl/asuswrt-merlin/wiki上的说明进行操作
他们肯定有自动脚本来生成/获取正确的SDK,你应该尽可能地保持在用于asuswrt图像的构建系统的范围内。
如果操作正确,则将ejabberd作为补丁添加到asuswrt图像构建过程中;从那以后,你可以构建新的,功能齐全的文件系统图像,你可以只是" flash"像任何其他固件映像一样。
关于您选择软件的一句话:ejabberd是一款令人印象深刻的软件,但它在您的RAM上也不是很容易。在路由器上运行它可能会也可能不会。真正让我担心的是:除非其他人在你之前做过这样的事情,否则你需要一个Erlang编译器来定位你的路由器 - 这可能真的让这个项目比你目前的想法更加复杂。我检查了openWRT项目,似乎没有人将ejabberd带到他们的路由器固件生态系统,如果我有猜测,那不是因为它不受欢迎(ejabberd可能是最重要的XMPP服务器),但这是因为它很难做到,路由器硬件可能不是运行它的最佳平台。
OpenWRT有package for prosody,其中包含有关如何使用它的大量文档。你应该把你的工作作为基础。