欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  资讯频道

GRUB2 引导程序的发展目标

程序员文章站 2022-03-05 12:55:54
...


GRUB (GRand Unified Bootloader), 强大而标准的引导器,已被重新编写以实现更好的可移植性和易用性。下一个主版本的 Grub 将是 Grub2,它是高度组件化的(就像在 Linux 中为内核 insmod 那样),所以下面的各个方向均可理解为 Grub2 的一个组件或多个组件的合力。
以下我们所有的想法都是为了让 Grub2 替代我们称之以 Grub 传统版本的 Grub 0.9x ( 作为传统版的强有力的扩展 Grub4DOS 当前已被广泛得被用于一键恢复,及多启动中),下面用 GRUB 表示 GRUB2:

 USB 支持

我们常发现 GRUB 在 BIOS 限制下无法访问 USB 设备,比如存储盘、键盘。但是,要越过 BIOS 的限制以支持这个功能,我们需要做很多工作,所以我们打算实现 UHCI 的支持 - 因为 QEMU 能虚拟这样的设备。

ATA 并行、串行设备

时常我们也发现 GRUB 在使用 BIOS 提供的磁盘功能时候,Bug 多多。通常这是可以被回避的,但有时却不能。
GRUB 虽然有了串口 ATA 驱动,但却距离完成还有一段距离,且当前还只支持传统模式。

单元测试框架

要是能实现一个单元测试框架以自动检测单元的功能并将结果报告给开发人员,这将是非常爽的。有些功能我们可以用 grub-fstest/grub-emu,
其他则可以使用 Qemu/Boches/Vmware 等进行。

访问加密分区

现在加密分区的功能已经在各个主流的 GNU/Linux 发行套件中得到了支持。如果能从 GRUB 命令行中访问访问这些加密分区,那么 GRUB 用户将从中受益,比如从这些加密分区中加载内核启动系统。

我们打算首先针对 LUKS 这一广泛使用的标准开始。

本地化支持

GRUB 当前已经可以很好得显示 UTF-8 字符了,这也是 gfxterm 功能的表现。在此基础上,我们可以添加很多国家的语言支持而无需做过多的工作。不过,我们还需要通过 gettext 支持这个功能,以及在 GRUB 中做一些附加的增强以更好得支持这个本地化功能。

绚丽的菜单界面

我们正在寻找一个绚丽的菜单界面组件,要求它能支持动画、色彩特效,样式单等等。这个功能应该基于 GRUB 的视频 API,且应当能与字符界面分享尽量多的代码(注:也就是图形、字符界面的代码能尽量通用,而不是迥异)。

内建的分区支持

与 GNU 的分区工具库 (libparted) 集成,以便 GRUB 能在启动的时候能利用这一强大的分区功能。这个组件应该支持分区的创建、删除、改变分区大小以及文件系统相关功能。在我们遇到了一个很复杂的引导环境的时候,这些个功能就显得特别有用。

向新的平台移植

GRUB 当前已经被弄到了一些新平台上,包括 PC/BIOS, OpenFireware (包括 PowerPC 和 x86), EFI (x86) 和 coreboot/LinuxBios (x86). 针对Sparc64 的移植正在进行。

新闻来源.GNU.org