【问题标题】:Getting "Unknown error 2" when running BusyBox applets compiled against uClibc运行针对 uClibc 编译的 BusyBox 小程序时出现“未知错误 2”
【发布时间】:2012-03-19 13:03:05
【问题描述】:

我正在尝试为 SuperH 处理器板制作嵌入式 Linux。我正在使用带有 uClibc 的 Buildroot 2012.2 工具链。

所有编译都很好,但是当我尝试运行一些 BusyBox 小程序(例如“ls”或“mount”)时,我收到如下错误:

ls: : Unknown error 2

特别是对于“ls”,它会写入此错误文件夹中文件数的次数。

您有什么想法可能导致这种情况吗?互联网上似乎没有人遇到同样的问题,我在没有运气的情况下爬了几天的配置。

我认为错误可能是由错误配置的 uClibc 引起的,但这只是我的猜测。

谢谢。

编辑: 我在 uClibc 中启用了几个错误消息选项,现在我得到“没有这样的文件或目录”错误。

【问题讨论】:

  • 不是答案,所以我将此作为评论。你可以在船上安装 strace 吗?如果是这样,请尝试在 strace 下运行一个 busybox 小程序。这是我解决此类问题的第一站

标签: embedded toolchain busybox buildroot uclibc


【解决方案1】:

我会回答我自己的问题。

第一个也是最重要的问题是,我过度优化了 uClibc,因此没有包含所有合理的错误报告。如果您正在阅读本文并遇到同样的问题,请打开错误消息。它们非常小而且非常有用。

在解决了人类可读的错误报告后,我意识到 putchar 功能已被禁用。启用它可以解决问题。

我建议未来的一代要格外小心,你决定禁用 uClibc 的哪些功能,除非你想花几天时间来发现一个意想不到的错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-24
    • 2015-09-11
    • 1970-01-01
    • 2016-04-20
    • 1970-01-01
    • 2014-09-16
    • 2012-01-07
    • 1970-01-01
    相关资源
    最近更新 更多