^ Linux From Scratch - Version 12.1-systemd ^^^
^ Chapter 8. Installing Basic System Software ^^^
|[[.:132-groff-1.23.0|이전]] | [[.:08-installing_basic_system_software|위로]] / [[.:12.1|처음으로]] | [[.:134-gzip-1.13|다음]]|
|Groff-1.23.0 | Gzip-1.13|
----
====== 8.63. GRUB-2.12 ======
GRUB 패키지에는 GRand Unified Bootloader가 포함되어 있습니다.
* **빌드 시간**: 0.3 SBU
* **디스크 공간**: 166 MB
----
===== 8.63.1. GRUB 설치 =====
**참고** \\
시스템에 UEFI가 지원되고 UEFI로 LFS를 부팅하려는 경우, LFS에서 이 패키지를 건너뛰고 [[beyondlinuxfromscratch:installedpackages:grub-2.12_for_efi|GRUB EFI - BLFS]]의 지침에 따라 UEFI 지원(및 해당 종속성)이 포함된 GRUB를 설치할 수 있습니다.
**경고** \\
빌드에 영향을 줄 수 있는 모든 환경 변수를 설정 해제하세요.
unset {C,CPP,CXX,LD}FLAGS
\\
사용자 지정 컴파일 플래그로 이 패키지를 '튜닝'하지 마세요. 이 패키지는 부트로더입니다. 소스 코드의 low-level 작동 부분이 최적화로 인해 손상될 수 있습니다.
압축파일에서 누락된 파일을 추가하세요.
echo depends bli part_gpt > grub-core/extra_deps.lst
\\
GRUB 컴파일을 준비합니다.
./configure --prefix=/usr \
--sysconfdir=/etc \
--disable-efiemu \
--disable-werror
==== 새로운 설정 옵션의 의미 ====
* ''--disable-werror'' \\ 이 옵션을 사용하면 warning에도 컴파일을 진행하여 최신 버전의 Flex로 인해 발생하는 경고에도 빌드를 완료할 수 있습니다.
* ''--disable-efiemu'' \\ 이 옵션은 efieme 기능을 비활성화하고 LFS에 필요하지 않은 일부 테스트 프로그램을 제거하여 빌드 내용을 최소화합니다.
패키지를 컴파일합니다.
make
이 패키지에 대한 테스트는 권장되지 않습니다. 대부분의 테스트는 제한된 LFS 환경에서는 사용할 수 없는 패키지에 의존합니다. 어쨌든 테스트를 실행하려면 **make check**를 실행하세요.
패키지를 설치합니다.
make install
mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions
GRUB로 LFS 시스템을 부팅할 수 있게 만드는 방법은 [[linuxfromscratch:12.1:167-using_grub_to_set_up_the_boot_process|10.4절 "GRUB을 사용하여 부팅 프로세스 설정"]]에서 설명합니다.
===== 8.63.2. GRUB의 컨텐츠 =====
* **설치된 프로그램** \\ grub-bios-setup, grub-editenv, grub-file, grub-fstest, grub-glue-efi, grub-install, grub-kbdcomp, grub-macbless, grub-menulst2cfg, grub-mkconfig, grub-mkimage, grub-mklayout, grub-mknetdir, grub-mkpasswd-pbkdf2, grub-mkrelpath, grub-mkrescue, grub-mkstandalone, grub-ofpathname, grub-probe, grub-reboot, grub-render-label, grub-script-check, grub-set-default, grub-sparc64-setup, and grub-syslinux2cfg
* **설치된 디렉토리** \\ /usr/lib/grub, /etc/grub.d, /usr/share/grub, /boot/grub (grub-install 최초 실행시 생성)
=== 간략한 설명 ===
* grub-bios-setup: \\ **grub-install**을 위한 보조 프로그램입니다.
* grub-editenv: \\ 환경 설정을 편집하는 도구입니다
* grub-file: \\ 주어진 파일이 지정된 유형인지 확인합니다.
* grub-fstest: \\ 파일 시스템 드라이버를 디버깅 도구입니다.
* grub-glue-efi: \\ 32비트와 64비트 바이너리를 단일 파일로 만듭니다(Apple 기기용도).
* grub-install: \\ 드라이브에 GRUB을 설치합니다
* grub-kbdcomp: \\ xkb 레이아웃을 GRUB에서 인식하는 레이아웃으로 변환하는 스크립트입니다.
* grub-macbless: \\ HFS 또는 HFS+ 파일 시스템용 Mac bless입니다(**bless**는 Apple 기기에서만 사용되며, 장치를 부팅할 수 있게 합니다).
* grub-menulst2cfg: \\ GRUB2에서 사용할 수 있도록 GRUB legacy ''menu.lst''를 ''grub.cfg''로 변환합니다.
* grub-mkconfig: \\ ''grub.cfg'' 파일을 생성합니다.
* grub-mkimage: \\ GRUB의 부팅 이미지를 만듭니다
* grub-mklayout: \\ GRUB 키보드 레이아웃 파일을 생성합니다
* grub-mknetdir: \\ GRUB netboot 디렉토리를 준비합니다
* grub-mkpasswd-pbkdf2: \\ 부팅 메뉴에서 사용할 암호화된 PBKDF2 암호를 생성합니다.
* grub-mkrelpath: \\ 시스템 경로명을 루트를 기준으로 만듭니다.
* grub-mkrescue: \\ 플로피 디스크, CDROM/DVD 또는 USB 드라이브에 적합한 부팅 가능한 GRUB 이미지를 만듭니다.
* grub-mkstandalone: \\ 독립 실행형 이미지를 생성합니다.
* grub-ofpathname: \\ GRUB 장치의 경로를 출력하는 보조 프로그램입니다.
* grub-probe: \\ 주어진 경로 또는 장치에 대한 장치 정보를 조사합니다.
* grub-reboot: \\ 다음 부팅에서 사용할 GRUB의 기본 부팅 항목을 설정합니다.
* grub-render-label: \\ 애플 Mac용 Apple .disk_label을 렌더링합니다.
* grub-script-check: \\ GRUB 설정파일에 구문 오류가 있는지 확인합니다.
* grub-set-default: \\ GRUB의 기본 부팅 항목을 설정합니다.
* grub-sparc64-setup: \\ grub-setup의 보조 프로그램입니다.
* grub-syslinux2cfg: \\ syslinux 설정 파일을 grub.cfg 형식으로 변환합니다.