최종 LFS 시스템
빌드와 설치를
시작하기 위해서 chroot
환경으로 진입해야
할 시간이다. root
유저로, 다음
명령을 사용해서
아직 임시
도구들로만 채워진
곳으로 들어간다:
chroot "$LFS" /tools/bin/env -i \ HOME=/root \ TERM="$TERM" \ PS1='(lfs chroot) \u:\w\$ ' \ PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \ /tools/bin/bash --login +h
env
명령에 붙은 -i
옵션은 chroot
환경의 모든 변수를
지운다. 그 후에, HOME
, TERM
, PS1
, 그리고 PATH
변수만 다시
설정된다. TERM=$TERM
구문은
root 내부의 TERM
변수를 root 외부와
동일한 값으로
설정한다. vim과 less 같은
프로그램이 제대로
작동하려면 이
변수가 필요하다.
CFLAGS
나 CXXFLAGS
같은 다른
변수가 필요하다면,
여기서 다시
설정하면 된다.
여기서부터는 모든
작업이 LFS 파일
시스템으로
제한되기 때문에
LFS
변수를 더
이상 사용할 필요가
없다. Bash 셸은 이제 $LFS
를 root(/
)
디렉토리로 여기기
때문이다.
/tools/bin
이 PATH
의 마지막에
있다는 점에
유의하라. 이는 일단
최종 버전이
설치되면 임시
도구는 더 이상
사용되지 않는다는
것을 의미한다. 이는
셸이 실행된
바이너리 파일의
위치를 “기억”하지
않게 해서 이뤄진다.
그러기 위해 +h
옵션을
bash로
전달해서 해싱을
비활성화한다.
bash
프롬프트에서 I have no name!
이라고
뜨는 것에 주목하라.
이것은 /etc/passwd
파일이 아직
생성되지 않았기
때문에 정상이다.
이 장의 나머지 부분과 다음 장의 모든 명령을 chroot 환경에서 실행하는 것이 중요하다. 어떤 이유로든(예: 재부팅) 이 환경을 떠나는 경우 설치를 계속하기 전에 6.2.2절. “/dev 마운팅과 설정”와 6.2.3절. “가상 커널 파일 시스템 마운팅”에 설명된 대로 가상 커널 파일 시스템이 마운트되었는지 확인하고 chroot를 다시 입력한 후 설치를 계속하라.