在 Debian 上安装 PongoOS fork 会导致没有 makefile 二进制文件

在 Debian 上安装 PongoOS fork 会导致没有 makefile 二进制文件

我正在尝试安装PongoOS 的这个分支到 Debian 12.1 使用这些说明我采取的最后一步是在终端中输入以下内容:

EMBEDDED_CC=clang EMBEDDED_LDFLAGS=-fuse-ld=/usr/bin/ld64 STRIP=cctools-strip make all

下一步是使用以下终端命令执行 Pongo.bin:

/path/to/checkra1n -v -V -p -c -k ./build/Pongo.bin

问题是 pongoOS/checkra1n/build 没有 Pongo.bin,也没有 GitHub 页面上列出的任何其他 Makefile 二进制文件。输入第一个命令会导致终端显示此消息:

make: *** No rule to make target 'all'.  Stop.

堆栈溢出这条消息表示没有 makefile。如何获取此 makefile 来接收这些二进制文件。如果这是一个愚蠢的问题,我深表歉意,因为我是 GNU/Linux 世界的新手。

答案1

您的“下一步”命令行是您链接的说明中的步骤#6。

步骤#2 ( git clone https://github.com/konradybcio/pongoOS) 应该生成一个pongoOS目录,步骤#3 ( cd pongoOS) 应该将其设置为当前工作目录。要执行步骤#6,你应该仍然在那个目录中

“makefile”不是二进制文件,而是特殊格式的文本文件。步骤 #2 生成的目录pongoOS应包含许多目录和五个左右的文件:其中一个名为 simple Makefile,这就是该make命令正在查找的内容。

通常,该make命令期望找到一个名为Makefilemakefile 在当前工作目录中。有多种方法可以告诉它查看其他目录,但这不是使用它的正常方法。


Makefile在 pongoOS 发行版中还包括一个git submodule update --init --recursive操作,该操作应生成该目录中pongoOS/newlib/Makefile后续子调用所需的。make all

如果失败 - 例如因为无法下载它所依赖的 Git 存储库 - 可能是子目录git submodule update中仍然没有 Makefile ,这可能导致错误消息。newlib但是,这些消息应该是这样的:

make: Entering directory '<some directory>/pongoOS/newlib'
make: *** No rule to make target 'all'. Stop.
make: Leaving directory '<some directory>/pongoOS/newlib'

在此之前的操作应该有错误消息git submodule update

但如果你真的看到了仅有的这条make: *** No rule to make target 'all'. Stop.消息,那么我担心你一定在某个时候弄错了:pongoOS 存储库显然包含一个Makefile并且它已经all定义了目标。因此,要么您make在错误的目录中输入了命令,要么前面的步骤中出现了其他问题,因此并非所有必需的文件实际上都下载到了正确的位置。

Makefile 描述了构建过程,该过程可以任意复杂。通常一个make流程会产生大量输出,其中大部分只是提供信息。但是,当尝试修复错误时,可能需要这些信息性消息来确定构建过程的哪一部分实际上导致了错误。

相关内容