Trail: Home >
Goals and Ideas
The rEFIt project has a wider scope than just the boot menu. Some areas that could use attention are:
- The rEFIt boot menu itself: additional features, robustness, configurability.
- Mac OS X integration: installation, Startup Disk work-alike.
- EFI tools: disk partitioning, diagnostics.
- EFI file system drivers for various file systems.
- UI library: evolve the current menu functions into a small UI library, or port one of the framebuffer-based GUI libraries to the EFI environment.
Some of these points are detailed in the following sections. If you have additional ideas, feel free to post them to the feature request tracker. Anyone who wants to actually implement one of the ideas is invited to join the project as a developer.
Some ideas for the boot menu and its UI infrastructure:
- Full configurability for OS entries. Configurable default entry.
- Remember the last chosen entry (in NVRAM), make it the default entry on the next boot.
- Configurable screen background color, selection highlight color (submenus), text color.
- Allow the CD to be ejected from within the boot menu.
- Network support.
The graphical functions of the boot menu have already been split into a separate module. Some plans here:
- Improve text rendering: Loadable fonts, antialiased default font
- Support loading PNG and JPEG image files in addition to BMP.
- Mouse support.
- Support for the Apple IR Remote as in the built-in chooser. (This may require talking directly to the USB HID driver.)
Mac OS X Integration
To improve user friendliness, there is a need to provide better integration with Mac OS X. Some ideas:
- Make a Startup Item to solve the Mac OS X Update and the Safe Sleep issues.
- Make an OS X Installer package (.pkg) that takes care of installation and blessing.
- Provide an application to automate installation and as a replacement for the Startup Disk preference pane.
- Provide a flexible partitioning tool as a replacement for the limited Boot Camp Assistant.
Boot Camp requires a hybrid GPT/MBR partition table to work properly. rEFIt includes a tool to update the MBR table after editing the GPT table, but it would be much better to have partitioning tools that support the hybrid format directly. GNU Parted looks promising — it already supports GPT, and has file system resizing code for most common file systems. Some tasks:
- Improve the gptsync tool: file system detection for GPT Basic Data partitions, robustness.
- Improve GNU parted to work properly on Intel Macs: HFS+ little-endian issues, HFS+ GPT partition type, hybrid GPT/MBR format.
- Port GNU parted to Mac OS X (Terminal and/or Cocoa GUI).
- Port GNU parted to the EFI environment. (This is currently on hold in favour of a Linux rescue system.)
File system drivers
EFI supports the FAT file system family out of the box, and Apple also includes a driver for HFS+. Additional drivers would be useful, especially for ext2/ext3 and ISO9660. The code in GNU grub could serve as a starting point.
To load the drivers, rEFIt would be extended to load all .efi files in the \efi\refit\drivers directory automatically.