UEFI and Grub2 support
en

UEFI and Grub2 support

Overview

OpenSolaris installs and boots off disks that are up to 2TiB in size.  While disks bigger than these can be used, they are truncated to 2TiB.  In order support disks greater than 2TiB,  UEFI specification needs to be implemented.  This impacts the boot loader, the kernel I/O framework and utilities.  Installers needed to be enhanced to support installs to these large devices.  The tasks listed here are the changes and dependencies for the installers.


Background

The UEFI specification defined a new disk label format called Guid Partition Table or GPT. GPT specification allows one to partition a disk into a large number "slices".  However in OpenSolaris, only 7 (0-6) slices are supported.  For SPARC users, this will be similar to  SMI label with slices, except with 7 instead of 8.  For x86 users, asignificant difference is that MBR based partitions will not exist.  MBR labeling  divided the disk into primary and extended partitions.   OpenSolaris  installed a VTOC into one of these partitions.  This two level indirection will disappear and  a disk will simply appear with 7 slices.  Another change for x86 users will be the introduction of  GRUB2 since GRUB is not capable of accessing devices beyond 2TiB. GRUB2 is capable of supporting MBR labels as well.

For OpenSolaris,In order  to provide a consistent user experience, GPT labels will only applied if the disk is greater than 2 TiB.

Installer Task List

Install needs to implement changes to detect and set GPT partitions, detect and set the correct bootloader when crossing the GRUB, GRUB2 boundary.  The installers also need to set a the boot bootdevice for UEFI.  The changes to support this affect all the installers as well as beadm and libti.  The text and GUI installers will need to be enhanced to display the GPT slices.

 Install TaskDuration Dependency Notes
 GRUB2  Libbeadm Changes  2 weeks libgrub2  Evan Layton has sent a proposal 
GRUB2  ICT changes to all AI,text-ui,liveCD to call pygrubmgt 2 weeks pygrubmgt This time taken here is for rebuilding and testing images 
GRUB2 Distro constructor changes, mkisofs, and changes to generate the entries  1 week pygrubmgt  
GPT libti and libtd and AI support(includes testing 4 weeks libdiskmgt/libefi/libzfs changes 
GPTText and GUI installer changes 8 weeks  libefi and libtd  2 wks for screen design, 3 weeks for GUI, 3 weeks for Text. Text and GUI work can overlap
UEFI ICT change to set boot disk 1 week libuefi 
 UEFI  AI boot argument on x86 to specify system firmware  1 week  libuefi  depends on UEFI design from seth G.
Tags:
Created by Sanjay Nadkarni on 2010/03/26 01:43
Last modified by Sanjay Nadkarni on 2010/07/16 17:57

Collectives

Project caiman Pages


XWiki Enterprise 2.7.1.34853 - Documentation