【问题标题】:How to create own buildroot toolchain? [closed]如何创建自己的 buildroot 工具链? [关闭]
【发布时间】:2016-05-21 18:18:32
【问题描述】:

我想为此路由器编译 ejabberd:Broadcom BCM4708A0、2xARM Cortex A9、asuswrt-merlin 380.58_0。

我知道我应该创建自己的工具链,其中所有库和环境都应该匹配路由器。

我该怎么做?我在 buildroot 手册和 google 中一无所获。

【问题讨论】:

  • 嗯,ejabberd 应该在路由器上已经存在的操作系统中运行,对吧?
  • 因此,您应该使用可能与该操作系统映像在同一步骤中生成的 SDK。
  • 如果您想推出自己的操作系统,那么请阅读。这不会是一个下雨的下午的项目。
  • 如果没有这样的SDK,有时静态链接也可以。为此,您只需要一个与目标大致匹配的编译器工具链。
  • @MarcusMüller ,是的,ejabberd 应该在路由器上已经存在的操作系统中运行,并且没有 SDK。

标签: arm cross-compiling embedded-linux buildroot


【解决方案1】:

您在半句话中提到您已经在该路由器上运行 Asuswrt - 所以请按照https://github.com/RMerl/asuswrt-merlin/wiki 上的说明进行操作

他们肯定有自动脚本来生成/获取正确的 SDK,您应该尽可能地保持在用于 asuswrt 映像的构建系统的范围内。

如果操作正确,您可以将 ejabberd 作为补丁添加到您的 asuswrt 映像构建过程中;从那里开始,您可以构建新的、功能齐全的文件系统映像,您可以像任何其他固件映像一样“刷新”它们。

关于您选择的软件的一句话:ejabberd 是一款令人印象深刻的软件,但它在您的 RAM 上也不是很容易。在路由器上运行它可能会也可能不会。真正让我担心的是:除非其他人在你之前做过这件事,否则你将需要一个 Erlang 编译器来定位你的路由器——这可能真的使这个项目比你现在想象的要复杂得多。我检查了 openWRT 项目,似乎没有人将 ejabberd 带入他们的路由器固件生态系统,如果我有一个猜测,那不是因为它不受欢迎(ejabberd 可能是最重要的 XMPP 服务器),而是因为这很难做到,路由器硬件可能不是运行它的最佳平台。

OpenWRT 有一个package for prosody,其中包含有关如何使用它的大量文档。您可能应该以此为基础。

【讨论】:

  • 是的,看来你是对的。我不会尝试在路由器上启动 ejabberd
猜你喜欢
  • 1970-01-01
  • 2012-02-13
  • 1970-01-01
  • 1970-01-01
  • 2017-11-15
  • 1970-01-01
  • 2010-09-20
  • 2011-03-19
相关资源
最近更新 更多