【问题标题】:Compiling busybox as BFLT executable将busybox编译为BFLT可执行文件
【发布时间】:2016-09-12 16:50:52
【问题描述】:

我正在为非 mmu 架构编译一个busybox rootfs。 此编译的输出是一个 ELF 32 位 LSB 可执行文件。

file _install/bin/busybox: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, for GNU/Linux 2.6.32,

我想要一个 BFLT 可执行文件(与 uclinux 相同)。 如何将 ELF 转换为 BFLT 或从 busybox 生成 BFLT 文件?

没有 Buildroot 也能做到这一点吗?

添加信息:

  • 我正在使用工具链 arm-none-linux-gnueabi
  • 构建为静态可执行文件
  • 选项强制 NOMMU 构建启用

【问题讨论】:

  • @user3142 您是否尝试过下载 uCLinux 源代码树并构建它? IIRC,它带有一个包含busybox的rootfs。默认构建应该为您提供支持 NOMMU 架构的二进制文件。
  • 您很可能会使用 objcopy 将您的部分呈现为平坦的连续二进制文件,至少如果您为链接器提供了合适的内存映射。我怀疑你可能会在你已经拥有的构建脚本中找到一些这样的例子,但你也可以去寻找其他版本。还可以考虑使用 readelf 或 objdump 来确定您实际拥有的部分集合。

标签: linux embedded-linux busybox uclinux rootfs


【解决方案1】:

迟到的答案,但仍然相关。请使用https://buildroot.org/

如果配置正确,buildroot 可以用busybox bFLT 可执行文件和基本的Linux 工具为您构建一个完整的rootfs。它就像 Cortex-M 的魅力一样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-08
    • 2019-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-27
    • 2023-04-03
    相关资源
    最近更新 更多