8.63. GRUB-2.12

GRUB 软件包包含 “大统一” (GRand Unified) 启动引导器。

估计构建时间: 0.3 SBU
需要硬盘空间: 166 MB

8.63.1. 安装 GRUB

[注意]

注意

在 LoongArch 系统上,后文给出的指令为 UEFI 构建 GRUB。构建得到的 GRUB 会缺失一些功能,这是由于一些可选依赖项超过了 LFS 的范围,因此尚未安装。

如果您的系统固件不支持 UEFI,您需要跳过该软件包,自行尝试找出引导系统的方法。

如果您的系统支持 UEFI,且您希望通过 UEFI 引导 LFS,您可以跳过这个 LFS 软件包,并按照 BLFS 页面中的说明 (请自行移除其中的 --target=x86_64 选项),安装支持 UEFI 的 GRUB (及其依赖项)。

[警告]

警告

移除所有可能影响构建的环境变量:

unset {C,CPP,CXX,LD}FLAGS

不要尝试使用自定义的编译选项优化该软件包。该软件包是一个引导加载器,其源代码中的低级操作可能被一些激进的优化所破坏。

补充源码包发布时缺失的一个文件:

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

准备编译 GRUB:

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

新的配置选项的含义:

--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 引导您的 LFS 系统的方法将在第 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, 以及 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

是 Mac 风格的,用于 HFS 和 HFS+ 文件系统的 bless 程序 (bless 仅用于 Apple 生产的机器;它能将设备变得可引导)

grub-menulst2cfg

将经典的 GRUB menu.lst 转化为 grub.cfg 以供 GRUB 2 使用

grub-mkconfig

生成一个 grub.cfg 文件

grub-mkimage

创建 GRUB 可引导镜像

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

探测给定路径或设备的信息

grub-reboot

仅为下次启动设置 GRUB 默认引导项

grub-render-label

为 Apple Mac 设置 Apple .disk_label

grub-script-check

在 GRUB 配置脚本中检查语法错误

grub-set-default

设置 GRUB 默认引导项

grub-sparc64-setup

grub-setup 使用的帮助程序

grub-syslinux2cfg

将 syslinux 配置文件转换为 grub.cfg 格式