欢迎转载,谢绝不注明出处
based on:
http://www.gnu.org/software/grub/grub-soc.html
GRUB (GRand Unified Bootloader), 强大而标准的引导器,已被重新编写以实现更好的可移植性和易用性。下一个主版本的 Grub 将是 Grub2。
以下我们所有的想法都是为了让 Grub2 替代我们称之以 Grub 传统版本的 Grub 0.9x:
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 (
http://en.wikipedia.org/wiki/Linux_Unified_Key_Setup)这一广泛使用的标准开始。
本地化支持
GRUB 当前已经可以很好得显示 UTF-8 字符了,这也是 gfxterm 功能的表现。基于此基础,我们可以添加很多国家的语言支持而无需做过多的
工作了。不过,我们还需要通过 gettext 支持这个模块,以及在 GRUB 中做一些附加的增强以更好得支持这个本地化功能。
绚丽的菜单界面
我们正在寻找一个绚丽的菜单界面组件,要求它能支持动画、色彩特效,样式单等等。这个功能应该基于 GRUB 的视频 API,且应当能与字符
界面分享尽量多的代码(渝注:也就是图形、字符界面的代码能尽量通用,而不是迥异)。
内建的分区支持
与 GNU 的分区工具库 (libparted) 集成,以便 GRUB 能在启动的时候能否利用这一强大的分区功能。这个组件应该支持分区的创建、删除、改
变分区大小以及文件系统相关功能。这些个功能特别有用,当我们遇到了一个很复杂的引导环境的时候。
向新的平台移植
GRUB 当前已经被弄到了一些新平台上,包括了 PC/BIOS, OPenFireware (包括 PowerPC 和 x86), EFI (x86) 和 coreboot/LinuxBios (x86). 针对 Sparc64 的移植正在进行。
----------------------------------------
渝武陶 2008-05-24 翻译整理
Welcome to reprint, please refrain from reprinting without indicating the source
based on:
http://www.gnu.org/software/grub/grub-soc.html
GRUB (GRand Unified Bootloader), a powerful and standard bootloader, has been rewritten for better portability and usability. The next major version of Grub will be Grub2.
All our ideas below are to make Grub2 replace what we call the traditional version of Grub, Grub 0.9x:
USB Support
We often find that GRUB cannot access USB devices under BIOS restrictions, such as storage disks, keyboards. However, to bypass BIOS restrictions to support this function, we need to do a lot of work, so we plan to implement UHCI support - because QEMU can virtualize such devices.
ATA Parallel and Serial Devices
Often we also find that GRUB has many bugs when using the disk functions provided by BIOS. Usually this can be avoided, but sometimes it cannot. Although GRUB has a serial ATA driver, it is still a long way from completion and currently only supports the traditional mode.
Unit Testing Framework
It would be great if we could implement a unit testing framework to automatically detect the functions of units and report the results to developers. Some functions we can use grub-fstest/grub-emu, others can use Qemu/Boches/Vmware, etc.
Access to Encrypted Partitions
Now the function of encrypted partitions is supported in various mainstream GNU/Linux distribution kits. If we can access these encrypted partitions from the GRUB command line, GRUB users will benefit, such as loading the kernel from these encrypted partitions to boot the system.
We plan to start with LUKS (
http://en.wikipedia.org/wiki/Linux_Unified_Key_Setup), a widely used standard.
Localization Support
GRUB can already display UTF-8 characters very well, which is the performance of the gfxterm function. Based on this, we can add language support for many countries without doing too much work. However, we also need to support this module through gettext, and make some additional enhancements in GRUB to better support this localization function.
Stunning Menu Interface
We are looking for a stunning menu interface component that can support animations, color effects, style sheets, etc. This function should be based on GRUB's video API and should share as much code as possible with the character interface (Note: that is, the code of the graphics and character interfaces can be as general as possible, rather than very different).
Built-in Partition Support
Integrate with GNU's partition tool library (libparted) so that GRUB can use this powerful partition function when booting. This component should support partition creation, deletion, partition size change, and file system related functions. These functions are particularly useful when we encounter a very complex boot environment.
Porting to New Platforms
GRUB has been ported to some new platforms, including PC/BIOS, OPenFireware (including PowerPC and x86), EFI (x86), and coreboot/LinuxBios (x86). Porting to Sparc64 is in progress.
----------------------------------------
Translated and organized by Yu Wutao on 2008-05-24