8.63. GRUB-2.12

GRUB パッケージは GRand Unified Bootloader を提供します。

概算ビルド時間: 0.3 SBU
必要ディスク容量: 166 MB

8.63.1. GRUB のインストール

[注記]

注記

システムが UEFI をサポートしていて、これを使って LFS を起動しようとする場合は、LFS における本パッケージは省略することができます。 その場合は BLFS ページ に従って UEFI 対応の GRUB (およびその依存パッケージ) をインストールしてください。

[警告]

警告

ビルドに影響を与える可能性のある環境変数をリセットします。

unset {C,CPP,CXX,LD}FLAGS

このパッケージをビルドする際に、独自のコンパイルフラグを使ってチューニングすることは止めてください。 このパッケージはブートローダーです。 ソースコード内には低レベル操作が用いられており、過激な最適化フラグによってはその機能を壊してしまうかもしれないためです。

リリース tarball に含まれていないファイルを追加します。

echo depends bli part_gpt > grub-core/extra_deps.lst

GRUB をコンパイルするための準備をします。

./configure --prefix=/usr          \
            --sysconfdir=/etc      \
            --disable-efiemu       \
            --disable-werror

configure オプションの意味

--disable-werror

本オプションは、最新の flex によって警告が出力されても、ビルドを成功させるために指定します。

--disable-efiemu

このオプションは LFS にとって不要な機能を無効にし、一部のテストプログラムを実行しないようにした上で、ビルドを行います。

パッケージをコンパイルします。

make

本パッケージのテストスイートの利用はお勧めできません。 テストのほとんどが、限定されている今の LFS 環境内では利用できないパッケージに依存しています。 それでもテストを行うのであれば、make check を実行します。

パッケージをインストールします。

make install
mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions

GRUB を使ってシステムのブート起動設定を行う方法については 「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, grub-syslinux2cfg
インストールディレクトリ: /usr/lib/grub, /etc/grub.d, /usr/share/grub, /boot/grub (grub-install が初めに起動される時)

概略説明

grub-bios-setup

grub-install に対するヘルパープログラム。

grub-editenv

環境ブロック (environment block) を編集するツール。

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

GRUB Legacy の menu.lstを GRUB 2 にて利用される grub.cfg に変換します。

grub-mkconfig

grub.cfg ファイルを生成します。

grub-mkimage

GRUB のブートイメージ (bootable image) を生成します。

grub-mklayout

GRUB のキーボードレイアウトファイルを生成します。

grub-mknetdir

GRUB のネットブートディレクトリを生成します。

grub-mkpasswd-pbkdf2

ブートメニューにて利用する、PBKDF2 により暗号化されたパスワードを生成します。

grub-mkrelpath

システムのパスをルートからの相対パスとします。

grub-mkrescue

フロッピーディスク、CDROM/DVD、USB ドライブ向けの GRUB のブートイメージを生成します。

grub-mkstandalone

スタンドアロンイメージを生成します。

grub-ofpathname

GRUB デバイスのパスを出力するヘルパープログラム。

grub-probe

指定されたパスやデバイスに対するデバイス情報を検証 (probe) します。

grub-reboot

デフォルトのブートメニューを設定します。 これは次にブートした時だけ有効なものです。

grub-render-label

Apple Mac に対して Apple .disk_label を提供します。

grub-script-check

GRUB の設定スクリプトにおける文法をチェックします。

grub-set-default

デフォルトのブートメニューを設定します。

grub-sparc64-setup

grub-setup に対するヘルパープログラム。

grub-syslinux2cfg

syslinux の設定ファイルを grub.cfg フォーマットに変換します。