lfs 소스 설치에 대해 혼란스러워함

lfs 소스 설치에 대해 혼란스러워함

나는 홈모드 리눅스를 구축하기 위해 LFS 책을 사용하기 시작했습니다. 2부 보러 왔습니다. - 5장 "임시 시스템 구축". 필요한 모든 소스를 /mnt/lfs/sources에 다운로드했습니다. 패키지를 만들고 설치를 시작하려고 할 때 혼란스럽습니다.

과거에 배포판 기반 시스템의 소스에서 일부 패키지를 설치했습니다. make install을 사용하여 컴파일된 소스를 설치하면 시스템 디렉터리에 설치됩니다(또는 그렇게 알고 있습니다). 그렇다면 lfs 소스에 대해 make install을 실행하면 lfs 시스템 디렉토리 대신 호스트 시스템 디렉토리에 설치됩니까?

답변1

LFS 책의 모든 내용을 주의 깊게 읽어보세요!

$LFS/tools 디렉토리 생성

$LFS/tools 5장에서 컴파일된 모든 프로그램은 6장에서 컴파일된 프로그램과 별도로 유지하기 위해 아래에 설치됩니다 . ...루트로 다음 명령을 실행하여 필요한 디렉터리를 만듭니다.

mkdir -v $LFS/tools

다음 단계는 /tools호스트 시스템에 심볼릭 링크를 만드는 것입니다. 이는 LFS 파티션에 새로 생성된 디렉터리를 가리킵니다. 또한 루트로 이 명령을 실행하십시오.

ln -sv $LFS/tools /

소개하다

본 장에서 컴파일된 파일은 다음 장에서 설치되는 파일 및 호스트 프로덕션 디렉터리와 별도로 $LFS/tools 디렉터리에 설치됩니다. 여기에 컴파일된 패키지는 임시 패키지이므로 곧 출시될 LFS 시스템을 오염시키지 않기를 바랍니다.

binutils 빌드(1부)

이제 컴파일을 위해 Binutils를 준비합니다.

../configure --prefix=/tools            \
             --with-sysroot=$LFS        \
             --with-lib-path=/tools/lib \
             --target=$LFS_TGT          \
             --disable-nls              \
             --disable-werror

구성 옵션의 의미:

  --prefix=/tools

이는 /tools 디렉토리에 설치할 Binutils 프로그램을 준비하도록 구성 스크립트에 지시합니다.

 --with-sysroot=$LFS

크로스 컴파일의 경우 이는 빌드 시스템이 필요에 따라 $LFS에서 대상 시스템 라이브러리를 찾도록 지시합니다.

따라서 모든 작업을 잘 수행하면(LFS 책에서처럼) 잘 작동할 것입니다 :)

관련 정보