【问题标题】:Embedded Linux with ptxdist, coreutils breaks带有 ptxdist、coreutils 的嵌入式 Linux 中断
【发布时间】:2015-08-06 09:21:59
【问题描述】:

我的意图是更新 coreutils 包中包含的“df”命令,因为我需要它还显示带有 >df -i 的 inode。此选项目前在嵌入式版本上不可用。

我做了什么: 我遵循了快速入门指南 (4.2 -> http://www.pengutronix.de/software/ptxdist/appnotes/OSELAS.BSP-Pengutronix-Generic-arm-Quickstart.pdf)。我使用了 GNU 网站上最新版本的 coreutils。在我做 >ptxdist targetinstall coreutils 之前,我把它写到了规则文件夹中的 coreutils.make 文件中:

@$(call install_copy, foo, 0, 0, 0755, $(COREUTILS_DIR)/src/df, /usr/bin/df)

然后我在我的设备上使用了创建的嵌入式 Linux。乍一看,它似乎效果很好。我能够使用新选项 >df -i ,但是在出现 ssh 连接错误一段时间后,它会在不应该的地方询问用户名和密码,我无法访问内部 falsh 等等。这个包似乎破坏了 Linux 版本中的其他内容。

什么可能导致这些问题?我使用 coreutils 包做错了吗?

【问题讨论】:

  • I wrote this to the coreutils.make file in the rule folder 请写下您称为规则文件夹的路径。
  • 路径为:myproject/rules/coreutils.make。该文件在使用命令时自动生成:>ptxdist newpackage target
  • 尝试检查是否有/usr/local/lib/ptxdist*/rules/coreutils.make。如果有你可能会用你的新规则覆盖它,并且如果 @$(call install_copy, foo, 0, 0, 0755, $(COREUTILS_DIR)/src/df, /usr/bin/df) 行是你的规则中唯一的东西,那么可能还有其他 coreutil 可执行文件因此而没有安装。
  • 是的。这可能是问题所在,将尝试安装包中的所有内容并查看是否可行。
  • 解决了这个问题吗?我应该把它作为一个答案来解决这个问题吗?

标签: linux embedded-linux gnu-coreutils


【解决方案1】:

ptxdist/oselas 的结构是,如果你的项目目录中有规则(project-name/rules/coreutils.make),它将覆盖 ptxdist 自带的默认规则(/usr/local/lib/ptxdist*/rules/coreutils.make)。

默认规则包含其他应用程序的构建和安装过程,包括df。如果您使用仅构建和安装df 的规则覆盖它,则不会构建和安装所有其他 coreutil 应用程序,因此您的系统将缺少它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 2011-06-22
    • 2015-02-09
    • 1970-01-01
    • 2016-04-04
    相关资源
    最近更新 更多