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
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
