beyondlinuxfromscratch:installedpackages:grub-2.12_for_efi

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
beyondlinuxfromscratch:installedpackages:grub-2.12_for_efi [2024/05/22 08:14] baecybeyondlinuxfromscratch:installedpackages:grub-2.12_for_efi [2024/06/18 02:26] (현재) – [GRUB 설정] baecy
줄 7: 줄 7:
 ---- ----
  
 +===== EFI용 GRUB-2.12 =====
  
 +==== GRUB 소개 ====
 +
 +GRUB 패키지는 GRand Unified Bootloader(통합 부트 로더)를 제공합니다. 이 페이지에서는 LFS에서 빌드된 GRUB에는 활성화되지 않은 UEFI 지원으로 빌드됩니다.
 +
 +이 패키지는 LFS 12.1 플랫폼을 사용하여 빌드하고 제대로 작동하는 것으로 알려져 있습니다.
 +
 +=== 패키지 정보 ===
 +
 +  * 다운로드(HTTP): https://ftp.gnu.org/gnu/grub/grub-2.12.tar.xz
 +  * 다운로드 MD5 합계: 60c564b1bdc39d8e43b3aab4bc0fb140
 +  * 다운로드 크기: 6.4 MB
 +  * 필요한 예상 디스크 공간: 183 MB
 +  * 예상 빌드 시간: 0.4 SBU (64비트 LFS에서 병렬 처리=4 사용)
 +
 +=== 추가 다운로드 ===
 +
 +== GRUB 메뉴를 표시하는 데 사용되는 유니코드 폰트 데이터 ==
 +
 +  * 다운로드(HTTP): https://unifoundry.com/pub/unifont/unifont-15.1.04/font-builds/unifont-15.1.04.pcf.gz
 +  * 다운로드 MD5 합계: 72f95e7ecb47a4c7ed610babe6959ead
 +  * 다운로드 크기: 1.3 MB
 +
 +== GCC(32비트 LFS에서 빌드하는 경우에만 필요) ==
 +
 +  * 다운로드 정보는 [[linuxfromscratch:12.1:098-gcc-13.2.0|GCC-13.2.0]] 페이지를 참조하세요.
 +
 +=== GRUB 종속성 ===
 +
 +  * **권장**
 +    * [[.:efibootmgr-18|efibootmgr-18(런타임)]]
 +    * [[.:freetype-2.13.2|FreeType-2.13.2]]
 +  * **선택 사항**
 +    * [[.:lvm2-2.03.23|LVM2-2.03.23]]
 +
 +==== GRUB 설치 ====
 +
 +먼저 //root// 사용자로 글꼴 데이터를 설치합니다.
 +
 +<code bash>
 +mkdir -pv /usr/share/fonts/unifont &&
 +gunzip -c ../unifont-15.1.04.pcf.gz > /usr/share/fonts/unifont/unifont.pcf
 +</code>
 +<WRAP alert center round 90%>
 +**경고** \\
 +빌드에 영향을 줄 수 있는 환경 변수를 설정 해제하세요.
 +<code bash>
 +unset {C,CPP,CXX,LD}FLAGS
 +</code>
 +사용자 정의 컴파일 플래그로 이 패키지를 '튜닝'하지 마세요. 이 패키지는 부트로더로, 소스 코드의 저수준 작업이 일부 공격적인 최적화에 의해 손상될 수 있습니다.
 +</WRAP>
 +
 +릴리스 타르볼에 누락된 파일을 추가합니다.
 +
 +<code bash>
 +echo depends bli part_gpt > grub-core/extra_deps.lst
 +</code>
 +
 +32비트 LFS를 실행하는 경우 64비트 컴파일러를 준비하세요.
 +
 +<code bash>
 +case $(uname -m) in i?86 )
 +    tar xf ../gcc-13.2.0.tar.xz
 +    mkdir gcc-13.2.0/build
 +    pushd gcc-13.2.0/build
 +        ../configure --prefix=$PWD/../../x86_64-gcc \
 +                     --target=x86_64-linux-gnu      \
 +                     --with-system-zlib             \
 +                     --enable-languages=c,c++       \
 +                     --with-ld=/usr/bin/ld
 +        make all-gcc
 +        make install-gcc
 +    popd
 +    export TARGET_CC=$PWD/x86_64-gcc/bin/x86_64-linux-gnu-gcc
 +esac
 +</code>
 +
 +GRUB 패키지를 빌드합니다.
 +
 +<code bash>
 +./configure --prefix=/usr        \
 +            --sysconfdir=/etc    \
 +            --disable-efiemu     \
 +            --enable-grub-mkfont \
 +            --with-platform=efi  \
 +            --target=x86_64      \
 +            --disable-werror     &&
 +unset TARGET_CC &&
 +make
 +</code>
 +
 +이 패키지에는 의미 있는 결과를 제공하는 테스트 스위트가 없습니다.
 +
 +<code bash>
 +make install &&
 +mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions
 +</code>
 +
 +==== 구성 옵션 설명 ====
 +
 + * //--enable-grub-mkfont//: 설치된 글꼴 데이터에서 부트 로더용 글꼴 파일을 생성하는 ''grub-mkfont''라는 도구를 빌드합니다.
 +
 +<WRAP alert round center 90%>
 +**경고** \\
 +권장 종속성 [[.:freetype-2.13.2|FreeType-2.13.2]]가 설치되어 있지 않은 경우 이 옵션을 생략하고 GRUB을 빌드할 수 있습니다. 그러나 ''grub-mkfont''가 빌드되지 않았거나 GRUB 빌드 시점에 유니코드 글꼴 데이터를 사용할 수 없는 경우 GRUB은 부트 로더에 대한 글꼴을 설치하지 않습니다. GRUB 부팅 메뉴는 거친 글꼴을 사용하거나 화면의 작은 영역에 표시됩니다.
 +</WRAP>
 +
 +  * //--with-platform=efi//: EFI가 활성화된 상태에서 GRUB을 빌드합니다.
 +  * //--target=x86_64//: 32비트 LFS 시스템에서 빌드하는 경우에도 x86_64용 GRUB 빌드를 진행합니다. x86_64의 대부분의 EFI 펌웨어는 32비트 부트로더를 지원하지 않습니다.
 +  * //--target=i386//: 일부 32비트 x86 플랫폼은 EFI를 지원합니다. 또한 일부 x86_64 플랫폼에는 32비트 EFI 구현이 있지만 매우 오래되고 드뭅니다. 이러한 시스템에서 LFS가 실행 중이라는 것이 확실하다면 //--target=x86_64// 대신 이 옵션을 사용하세요.
 +
 +==== GRUB 설정 ====
 +
 +GRUB를 사용하여 UEFI 플랫폼에서 LFS 시스템을 부팅할 수 있도록 하는 방법은 [[linuxfromscratch:12.1:167-using_grub_to_set_up_the_boot_process|GRUB를 사용하여 UEFI로 부팅 프로세스 설정하기]]에서 설명합니다.
 +
 +==== 내용 ====
 +
 +LFS 책에서 [[linuxfromscratch:12.1:133-grub-2.12#GRUB의 컨텐츠|GRUB]] 페이지를 참조하십시오.
  • beyondlinuxfromscratch/installedpackages/grub-2.12_for_efi.1716365697.txt.gz
  • 마지막으로 수정됨: 2024/05/22 08:14
  • 저자 baecy