밑바닥부터 시작하는 리눅스(Linux From Scratch)

2일차: 빌드 준비 작업 번역

@thiskorea 2024. 12. 17. 08:17

https://www.notion.so/2-15541aecc52a80f0ac47ccc5502c522c?pvs=4

2일차: 빌드 준비 작업 번역


목표

  • 2장 Preparing for the Build 번역.
  • LFS 시스템 빌드를 위한 호스트 시스템 준비, 파티션 생성, 환경 설정 등의 내용을 한국어로 번역.
  • LFS의 기본 개념을 강조하며, 이해하기 쉽게 설명.

번역 내용

2.1 서론

LFS 시스템을 빌드하려면 기존 리눅스 시스템(호스트)을 준비해야 합니다. 이 호스트 시스템은 필요한 컴파일러, 링커, 기타 빌드 도구를 제공합니다. 호스트 시스템이 LFS를 지원하도록 설정하는 방법을 이 장에서 설명합니다.


2.2 호스트 시스템 요구 사항

LFS를 빌드하려면 호스트 시스템이 몇 가지 요구 사항을 충족해야 합니다.

  • 리눅스 커널: 최소 버전은 4.19 이상이어야 합니다.
  • GCC 버전: 8.3 이상 필요.
  • GNU Coreutils: 8.30 이상 필요.
  • 기타 필수 도구: Bash, Binutils, Bzip2, Diffutils, Findutils, Gawk, Grep, Make, Sed, Tar, Xz 등.

호스트 시스템 요구 사항 확인:

bash version-check.sh

version-check.sh 스크립트를 실행하면 호스트 시스템이 요구 사항을 충족하는지 확인할 수 있습니다.


2.3 빌드 단계

LFS 시스템은 다음과 같은 주요 단계로 빌드됩니다.

  1. 초기 도구 체인: 호스트 시스템과 분리된 도구 체인을 빌드.
  2. Chroot 환경 구축: 새로운 빌드 환경을 격리.
  3. LFS 시스템 설치: 모든 소프트웨어 패키지를 설치.
  4. 시스템 설정 및 부트로더 구성.

2.4 새로운 파티션 생성

LFS 시스템은 별도의 파티션에 설치해야 합니다.

  1. 파티션 생성:
    • fdisk 또는 parted를 사용하여 새 파티션 생성.
    • 파티션 유형을 Linux로 설정.
  2. 파일 시스템 생성:
    • /dev/sdX는 새로 생성한 파티션.
  3. mkfs.ext4 /dev/sdX
  4. 파티션 마운트:
  5. mkdir -pv $LFS mount /dev/sdX $LFS

2.5 $LFS 변수 설정

$LFS 환경 변수를 설정하여 빌드 디렉토리를 관리합니다.

export LFS=/mnt/lfs

이를 .bashrc 파일에 추가하여 세션마다 다시 설정하지 않도록 합니다.


2.6 디렉토리 레이아웃 준비

LFS 시스템은 최소한의 디렉토리 구조를 필요로 합니다. 다음 명령으로 디렉토리를 생성합니다.

mkdir -pv $LFS/{bin,etc,lib,sbin,usr,var}
mkdir -pv $LFS/tools

2일차 작업 요약

  1. 호스트 시스템의 요구 사항을 확인합니다.
  2. LFS를 위한 별도 파티션을 생성하고 마운트합니다.
  3. 환경 변수를 설정하고 LFS 디렉토리 구조를 준비합니다.

내일 작업 (3일차)

다음은 3장: 패키지 및 패치 준비를 번역합니다. 여기에서는 LFS 빌드에 필요한 모든 패키지와 패치 파일을 다운로드하고 정리하는 방법을 다룹니다. 😊