linuxfromscratch:12.1:033-general_compilation_instructions

Linux From Scratch - Version 12.1-systemd
Important Preliminary Material
이전 위로 / 처음으로 다음
툴체인 기술 설명 크로스 툴체인 컴파일

주의
LFS의 개발 주기 동안 패키지 업데이트에 맞추거나 업데이트된 패키지의 새로운 기능을 활용하기 위해 이 책의 지침이 수정되는 경우가 많습니다. 서로 다른 버전의 LFS 책에 있는 지침을 혼용하면 미묘한 문제가 발생할 수 있습니다. 이러한 종류의 문제는 일반적으로 이전 LFS 릴리스용으로 만든 일부 스크립트를 재사용할 때 발생합니다. 이러한 재사용은 절대로 권장하지 않습니다. 어떤 이유로든 이전 LFS 릴리스의 스크립트를 재사용하는 경우에는 현재 버전의 LFS 북과 일치하도록 스크립트를 업데이트하는 데 매우 주의를 기울여야 합니다.

다음은 각 패키지를 빌드할 때 알아야 할 몇 가지 사항입니다.

  • 컴파일 전에 여러 패키지를 패치하지만 문제를 우회하기 위해 패치가 필요한 경우에만 패치를 적용합니다. 현재 장과 다음 장 모두에서 패치가 필요한 경우가 많지만 동일한 패키지를 두 번 이상 빌드할 때 패치가 바로 필요하지 않은 경우도 있습니다. 따라서 다운로드한 패치에 대한 지침이 누락된 것 같더라도 걱정하지 마세요. 패치를 적용할 때 offset 또는 fuzz에 대한 경고 메시지가 표시될 수도 있습니다. 패치가 성공적으로 적용된 것이므로 이러한 경고에 대해 걱정하지 마세요.
  • 대부분의 패키지를 컴파일하는 동안 화면에 일부 경고 메시지가 스크롤됩니다. 이는 정상이며 무시해도 됩니다. 이러한 경고는 일반적으로 더 이상 사용되지 않지만, 유효하지 않은 것도 아닌 C 또는 C++ 구문 사용에 관한 것입니다. C 표준은 자주 변경되며 일부 패키지는 아직 업데이트되지 않았습니다. 이는 심각한 문제는 아니지만 경고가 표시되는 원인이 됩니다.
  • 마지막으로 LFS 환경 변수가 제대로 설정되어 있는지 다시 한 번 확인하세요.
    echo $LFS
    출력에 LFS 파티션의 마운트 지점 경로(예제에서는 /mnt/lfs)가 표시되는지 확인합니다.
  • 마지막으로 두 가지의 지켜야 하는 중요한 항목입니다.

중요
빌드 설명에서는 심볼릭 링크를 포함한 호스트 시스템 요구 사항이 아래와 같이 올바르게 설정되었다고 가정합니다.

  • bash가 사용 중인 셸입니다.
  • shbash에 대한 심볼릭 링크입니다.
  • /usr/bin/awkgawk에 대한 심볼릭 링크입니다.
  • /usr/bin/yaccbison의 심볼릭 링크이거나 bison을 실행하는 작은 스크립트 입니다.

중요
다음은 빌드 진행의 개요입니다.

  1. 모든 소스와 패치를 chroot 환경에서 액세스할 수 있는 디렉토리(예: $LFS/sources/)에 배치합니다.
  2. $LFS/sources/ 디렉터리로 변경합니다.
  3. 각 패키지에 대해.
    1. tar 프로그램을 사용하여 빌드할 패키지를 추출합니다. 5장6장에서 패키지를 추출할 때 lfs 사용자인지 확인하세요.
    2. 소스 코드를 추출할 때 tar 명령 외의 다른 방법을 사용하지 마세요. 특히 cp -R 명령을 사용하여 소스 코드 트리를 다른 곳에 복사하면 소스 트리의 링크와 타임스탬프가 파괴되어 빌드에 실패할 수 있습니다.
    3. 디렉터리를 패키지를 추출할 때 만들어진 디렉터리로 변경합니다.
    4. 패키지 빌드 설명을 따라 진행합니다.
    5. 빌드가 완료되면 다시 소스 디렉터리로 돌아갑니다.
    6. 별도의 지시가 없는 한 추출한 소스 디렉터리를 삭제합니다.
  • linuxfromscratch/12.1/033-general_compilation_instructions.txt
  • 마지막으로 수정됨: 2024/06/14 16:07
  • 저자 baecy