]> code.ossystems Code Review - openembedded-core.git/commitdiff
grub-efi: Include GPT partition EXT FS support
authorDarren Hart <dvhart@linux.intel.com>
Fri, 6 Apr 2012 19:04:52 +0000 (12:04 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 10 Apr 2012 12:15:59 +0000 (13:15 +0100)
Fixes [YOCTO 2257]

GPT partitions are common for EFI systems. Add support for them by
including the part_gpt partition module in the grub-efi image. In
order to allow for loading a Linux kernel from an EXT* filesystem,
include the ext2 module as well.

With this fix applied, I was able to boot from a USB key using a
GPT partition table with the following layout:

  $ sudo gdisk -l /dev/sdc
  GPT fdisk (gdisk) version 0.8.2

  Partition table scan:
    MBR: protective
    BSD: not present
    APM: not present
    GPT: present

  Found valid GPT with protective MBR; using GPT.
  Disk /dev/sdc: 7669824 sectors, 3.7 GiB
  Logical sector size: 512 bytes
  Disk identifier (GUID): 68FA7CD4-E0C3-4A8E-82B5-1331C9B17A3C
  Partition table holds up to 128 entries
  First usable sector is 34, last usable sector is 7669790
  Partitions will be aligned on 2-sector boundaries
  Total free space is 7428816 sectors (3.5 GiB)

  Number  Start (sector)    End (sector)  Size       Code  Name
     1              34           32801   16.0 MiB    0700      # FAT16
     2           32802          240974   101.6 MiB   0700      # EXT3

From within GRUB, booted as bootia32.efi from the BOOT partition, I
booted the OS with the following commands:

  grub> linux (hd0,gpt2)/vmlinuz rootwait root=/dev/sda2 console=ttyS0,115200
  grub> boot

This change will enable BSP developers to use the grub-efi image in
their own images as well as enable upcoming changes to the installer
to support EFI.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Kishore Bodke <kishore.k.bodke@intel.com>
CC: Rahul Saxena <rahul.saxena@intel.com>
meta/recipes-bsp/grub/grub-efi-native_1.99.bb

index c951152df863b0df11fae87111b078c6f88f5313..93e9290848354ea9f3bd7fd76b86d162aa058012 100644 (file)
@@ -16,7 +16,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 # FIXME: We should be able to optionally drop freetype as a dependency
 DEPENDS = "help2man-native autogen-native"
 RDEPENDS_${PN} = "diffutils freetype"
-PR = "r5"
+PR = "r6"
 
 # Native packages do not normally rebuild when the target changes.
 # Ensure this is built once per HOST-TARGET pair.
@@ -61,7 +61,7 @@ EXTRA_OECONF = "--with-platform=efi --disable-grub-mkfont \
 do_mkimage() {
        ./grub-mkimage -p /EFI/BOOT -d ./grub-core/ \
                       -O ${GRUB_TARGET}-efi -o ./${GRUB_IMAGE} \
-                      boot linux fat serial part_msdos normal efi_gop
+                      boot linux ext2 fat serial part_msdos part_gpt normal efi_gop
 }
 addtask mkimage after do_compile before do_install