Debian에 PongoOS 포크를 설치하면 makefile 바이너리가 생성되지 않습니다.

Debian에 PongoOS 포크를 설치하면 makefile 바이너리가 생성되지 않습니다.

설치하려고 하는데PongoOS의 포크데비안 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이 없음을 의미합니다. 이러한 바이너리를 수신하기 위해 이 메이크파일을 어떻게 얻을 수 있습니까? 제가 GNU/Linux 세계를 처음 접했기 때문에 이것이 어리석은 질문이었다면 사과드립니다.

답변1

"다음" 명령줄은 링크한 지침의 6단계입니다.

2단계( git clone https://github.com/konradybcio/pongoOS)는 디렉토리를 생성해야 하며 pongoOS3단계( cd pongoOS)는 이를 현재 작업 디렉토리로 설정해야 합니다. 6단계를 수행하려면,당신은 여전히 ​​해당 디렉토리에 있어야합니다.

"makefile"은 바이너리 파일이 아니라 특별히 형식이 지정된 텍스트 파일입니다. 2단계 결과 디렉토리에는 pongoOS다수의 디렉토리와 5개 정도의 파일이 포함되어야 합니다. 그 중 하나는 simple 이며 Makefile, 이는 make명령이 찾고 있는 것입니다.

일반적으로 이 make명령은 Makefile또는makefile 현재 작업 디렉토리에. 다른 디렉토리를 찾도록 지시하는 방법이 있지만 이는 일반적인 사용 방법이 아닙니다.


이것MakefilepongoOS 배포판에서또한 해당 디렉터리의 후속 하위 호출에 필요한 것을 git submodule update --init --recursive생성해야 하는 작업 도 포함됩니다.pongoOS/newlib/Makefilemake 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프로세스는 많은 양의 출력을 생성하며 그 중 대부분은 단순히 정보를 제공합니다. 그러나 오류를 수정하려고 할 때 빌드 프로세스의 어느 부분에서 실제로 오류가 발생했는지 확인하려면 이러한 정보 메시지가 필요할 수 있습니다.

관련 정보