Bug#589902: grub-efi-ia32: please support filesystems other than FAT

Tino Keitel tino.keitel+debbugs at tikei.de
Thu Jul 22 05:04:21 UTC 2010


Package: grub-efi-ia32
Version: 1.98+20100720-1
Severity: normal

grub-install fails if the filesystem on which it is installed is not FAT:

if test "x$fs_module" = xfat; then :; else
    echo "${grubdir} doesn't look like an EFI partition." 1>&2
    exit 1
fi

I have grub installed on an HFS+ partition on my Mac, because I don't want
to use the fragile FAT filesystem for the bootloader.  This works fine, and
I can read and write the partition in Linux and OS X. The EFI spec states
that the boot partition should be FAT. However, upstream told me that the EFI
support in grub-install is mainly targets Mac support, and Macs can also
boot from HFS(+) partitions. It would be nice to have support for this in
grub-install.

Regards,
Tino


-- Package-specific info:

*********************** BEGIN /proc/mounts
/dev/root / ext3 rw,relatime,errors=remount-ro,barrier=0,data=writeback 0 0
/dev/mapper/mac-home /home ext4 rw,relatime,barrier=1,data=ordered 0 0
/dev/mapper/mac-usr /usr ext4 rw,relatime,barrier=1,data=ordered 0 0
/dev/mapper/mac-var /var ext4 rw,relatime,barrier=1,data=ordered 0 0
/dev/mapper/mac-crap /home/scorpion/src ext4 rw,relatime,barrier=1,data=ordered 0 0
/dev/sda3 /boot/grub hfsplus rw,relatime,umask=22,uid=0,gid=0,nls=utf8 0 0
/dev/mapper/wd1-mythtv /home/mythtv xfs rw,relatime,attr2,noquota 0 0
/dev/mapper/wd1-storage /home/storage xfs rw,relatime,attr2,noquota 0 0
/dev/mapper/wd1-home /home/old xfs rw,relatime,attr2,noquota 0 0
/dev/sdd1 /media/vI4NS.12 vfat rw,nosuid,nodev,relatime,uid=1001,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=winnt,errors=remount-ro 0 0
/dev/sr1 /media/ctplusrom10h udf ro,nosuid,nodev,relatime,uid=1001,utf8 0 0
*********************** END /proc/mounts

*********************** BEGIN /boot/grub/device.map
(hd0)	/dev/disk/by-id/ata-Hitachi_HTS725050A9A364_100129PCE400VLGGE90C
(hd1)	/dev/disk/by-id/ieee1394-0030e001e0006585:00043c:0000
*********************** END /boot/grub/device.map

*********************** BEGIN /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="1"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  insmod efi_gop
  insmod efi_uga
  insmod video_bochs
  insmod video_cirrus
}

insmod lvm
insmod part_gpt
insmod ext2
set root='(mac-usr)'
search --no-floppy --fs-uuid --set 49fef8f7-b635-4ee5-8dc1-a1119ddb20c7
if loadfont /share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  load_video
  insmod gfxterm
fi
if terminal_output gfxterm ; then true ; else
  # For backward compatibility with versions of terminal.mod that don't
  # understand terminal_output
  terminal gfxterm
fi
set timeout=1
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/03_efi-settings ###
set F1=ctrl-x
set F2=ctrl-c
set F5=ctrl-e

search --set -f /boot/vbios.bin
insmod loadbios
loadbios /boot/vbios.bin /boot/int10.bin

### END /etc/grub.d/03_efi-settings ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/06_MacOS_X ###
menuentry "MacOSX" {
  # Set the root device for Mac OS X's loader.
  search --set -f /usr/standalone/i386/boot.efi
  # Load the loader.
  chainloader /usr/standalone/i386/boot.efi
}
### END /etc/grub.d/06_MacOS_X ###

### BEGIN /etc/grub.d/07_default ###
menuentry "Debian GNU/Linux, Linux kernel" {
	insmod part_gpt
	insmod ext2
	set root='(hd0,gpt4)'
	search --no-floppy --fs-uuid --set d7f9e66b-8c88-4d3e-8f62-da0c2cc60adb
	linux	/boot/default-kernel root=/dev/sda4 ro i915.modeset=1 gpt 
}
menuentry "Debian GNU/Linux, Linux kernel (recovery mode)" {
	insmod part_gpt
	insmod ext2
	set root='(hd0,gpt4)'
	search --no-floppy --fs-uuid --set d7f9e66b-8c88-4d3e-8f62-da0c2cc60adb
	linux	/boot/default-kernel root=/dev/sda4 ro single i915.modeset=1 gpt
}
### END /etc/grub.d/07_default ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Debian GNU/Linux, with Linux 2.6.35-rc5-00065-g539c16f' --class debian --class gnu-linux --class gnu --class os {
	insmod part_gpt
	insmod ext2
	set root='(hd0,gpt4)'
	search --no-floppy --fs-uuid --set d7f9e66b-8c88-4d3e-8f62-da0c2cc60adb
	echo	'Loading Linux 2.6.35-rc5-00065-g539c16f ...'
	linux	/boot/vmlinuz-2.6.35-rc5-00065-g539c16f root=/dev/sda4 ro i915.modeset=1 gpt 
}
menuentry 'Debian GNU/Linux, with Linux 2.6.35-rc5-00065-g539c16f (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
	insmod part_gpt
	insmod ext2
	set root='(hd0,gpt4)'
	search --no-floppy --fs-uuid --set d7f9e66b-8c88-4d3e-8f62-da0c2cc60adb
	echo	'Loading Linux 2.6.35-rc5-00065-g539c16f ...'
	linux	/boot/vmlinuz-2.6.35-rc5-00065-g539c16f root=/dev/sda4 ro single i915.modeset=1 gpt
}
menuentry 'Debian GNU/Linux, with Linux 2.6.35-rc5-00001-g51e112b' --class debian --class gnu-linux --class gnu --class os {
	insmod part_gpt
	insmod ext2
	set root='(hd0,gpt4)'
	search --no-floppy --fs-uuid --set d7f9e66b-8c88-4d3e-8f62-da0c2cc60adb
	echo	'Loading Linux 2.6.35-rc5-00001-g51e112b ...'
	linux	/boot/vmlinuz-2.6.35-rc5-00001-g51e112b root=/dev/sda4 ro i915.modeset=1 gpt 
}
menuentry 'Debian GNU/Linux, with Linux 2.6.35-rc5-00001-g51e112b (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
	insmod part_gpt
	insmod ext2
	set root='(hd0,gpt4)'
	search --no-floppy --fs-uuid --set d7f9e66b-8c88-4d3e-8f62-da0c2cc60adb
	echo	'Loading Linux 2.6.35-rc5-00001-g51e112b ...'
	linux	/boot/vmlinuz-2.6.35-rc5-00001-g51e112b root=/dev/sda4 ro single i915.modeset=1 gpt
}
menuentry 'Debian GNU/Linux, with Linux 2.6.34-00001-g7adb552' --class debian --class gnu-linux --class gnu --class os {
	insmod part_gpt
	insmod ext2
	set root='(hd0,gpt4)'
	search --no-floppy --fs-uuid --set d7f9e66b-8c88-4d3e-8f62-da0c2cc60adb
	echo	'Loading Linux 2.6.34-00001-g7adb552 ...'
	linux	/boot/vmlinuz-2.6.34-00001-g7adb552 root=/dev/sda4 ro i915.modeset=1 gpt 
}
menuentry 'Debian GNU/Linux, with Linux 2.6.34-00001-g7adb552 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
	insmod part_gpt
	insmod ext2
	set root='(hd0,gpt4)'
	search --no-floppy --fs-uuid --set d7f9e66b-8c88-4d3e-8f62-da0c2cc60adb
	echo	'Loading Linux 2.6.34-00001-g7adb552 ...'
	linux	/boot/vmlinuz-2.6.34-00001-g7adb552 root=/dev/sda4 ro single i915.modeset=1 gpt
}
menuentry 'Debian GNU/Linux, with Linux 2.6.33.3' --class debian --class gnu-linux --class gnu --class os {
	insmod part_gpt
	insmod ext2
	set root='(hd0,gpt4)'
	search --no-floppy --fs-uuid --set d7f9e66b-8c88-4d3e-8f62-da0c2cc60adb
	echo	'Loading Linux 2.6.33.3 ...'
	linux	/boot/vmlinuz-2.6.33.3 root=/dev/sda4 ro i915.modeset=1 gpt 
}
menuentry 'Debian GNU/Linux, with Linux 2.6.33.3 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
	insmod part_gpt
	insmod ext2
	set root='(hd0,gpt4)'
	search --no-floppy --fs-uuid --set d7f9e66b-8c88-4d3e-8f62-da0c2cc60adb
	echo	'Loading Linux 2.6.33.3 ...'
	linux	/boot/vmlinuz-2.6.33.3 root=/dev/sda4 ro single i915.modeset=1 gpt
}
menuentry 'Debian GNU/Linux, with Linux 2.6.32.2' --class debian --class gnu-linux --class gnu --class os {
	insmod part_gpt
	insmod ext2
	set root='(hd0,gpt4)'
	search --no-floppy --fs-uuid --set d7f9e66b-8c88-4d3e-8f62-da0c2cc60adb
	echo	'Loading Linux 2.6.32.2 ...'
	linux	/boot/vmlinuz-2.6.32.2 root=/dev/sda4 ro i915.modeset=1 gpt 
}
menuentry 'Debian GNU/Linux, with Linux 2.6.32.2 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
	insmod part_gpt
	insmod ext2
	set root='(hd0,gpt4)'
	search --no-floppy --fs-uuid --set d7f9e66b-8c88-4d3e-8f62-da0c2cc60adb
	echo	'Loading Linux 2.6.32.2 ...'
	linux	/boot/vmlinuz-2.6.32.2 root=/dev/sda4 ro single i915.modeset=1 gpt
}
menuentry 'Debian GNU/Linux, with Linux 2.6.31.9' --class debian --class gnu-linux --class gnu --class os {
	insmod part_gpt
	insmod ext2
	set root='(hd0,gpt4)'
	search --no-floppy --fs-uuid --set d7f9e66b-8c88-4d3e-8f62-da0c2cc60adb
	echo	'Loading Linux 2.6.31.9 ...'
	linux	/boot/vmlinuz-2.6.31.9 root=/dev/sda4 ro i915.modeset=1 gpt 
}
menuentry 'Debian GNU/Linux, with Linux 2.6.31.9 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
	insmod part_gpt
	insmod ext2
	set root='(hd0,gpt4)'
	search --no-floppy --fs-uuid --set d7f9e66b-8c88-4d3e-8f62-da0c2cc60adb
	echo	'Loading Linux 2.6.31.9 ...'
	linux	/boot/vmlinuz-2.6.31.9 root=/dev/sda4 ro single i915.modeset=1 gpt
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86 ###
menuentry "Memory test (memtest86)" {
	linux16	/boot/memtest86.bin
}
### END /etc/grub.d/20_memtest86 ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Mac OS X (32-bit) (on /dev/sda2)" {
	insmod part_gpt
	insmod hfsplus
	set root='(hd0,gpt2)'
	search --no-floppy --fs-uuid --set 53ca7e0d47f4e6dd
        load_video
        set do_resume=0
        if [ /var/vm/sleepimage -nt10 / ]; then
           if xnu_resume /var/vm/sleepimage; then
             set do_resume=1
           fi
        fi
        if [ $do_resume = 0 ]; then
           xnu_uuid 53ca7e0d47f4e6dd uuid
           if [ -f /Extra/DSDT.aml ]; then
              acpi -e /Extra/DSDT.aml
           fi
           xnu_kernel /mach_kernel boot-uuid=${uuid} rd=*uuid
           if [ /System/Library/Extensions.mkext -nt /System/Library/Extensions ]; then
              xnu_mkext /System/Library/Extensions.mkext
           else
              xnu_kextdir /System/Library/Extensions
           fi
           if [ -f /Extra/Extensions.mkext ]; then
              xnu_mkext /Extra/Extensions.mkext
           fi
           if [ -d /Extra/Extensions ]; then
              xnu_kextdir /Extra/Extensions
           fi
           if [ -f /Extra/devprop.bin ]; then
              xnu_devprop_load /Extra/devprop.bin
           fi
           if [ -f /Extra/splash.jpg ]; then
              insmod jpeg
              xnu_splash /Extra/splash.jpg
           fi
           if [ -f /Extra/splash.png ]; then
              insmod png
              xnu_splash /Extra/splash.png
           fi
           if [ -f /Extra/splash.tga ]; then
              insmod tga
              xnu_splash /Extra/splash.tga
           fi
        fi
}
menuentry "Mac OS X (64-bit) (on /dev/sda2)" {
	insmod part_gpt
	insmod hfsplus
	set root='(hd0,gpt2)'
	search --no-floppy --fs-uuid --set 53ca7e0d47f4e6dd
        load_video
        set do_resume=0
        if [ /var/vm/sleepimage -nt10 / ]; then
           if xnu_resume /var/vm/sleepimage; then
             set do_resume=1
           fi
        fi
        if [ $do_resume = 0 ]; then
           xnu_uuid 53ca7e0d47f4e6dd uuid
           if [ -f /Extra/DSDT.aml ]; then
              acpi -e /Extra/DSDT.aml
           fi
           xnu_kernel64 /mach_kernel boot-uuid=${uuid} rd=*uuid
           if [ /System/Library/Extensions.mkext -nt /System/Library/Extensions ]; then
              xnu_mkext /System/Library/Extensions.mkext
           else
              xnu_kextdir /System/Library/Extensions
           fi
           if [ -f /Extra/Extensions.mkext ]; then
              xnu_mkext /Extra/Extensions.mkext
           fi
           if [ -d /Extra/Extensions ]; then
              xnu_kextdir /Extra/Extensions
           fi
           if [ -f /Extra/devprop.bin ]; then
              xnu_devprop_load /Extra/devprop.bin
           fi
           if [ -f /Extra/splash.jpg ]; then
              insmod jpeg
              xnu_splash /Extra/splash.jpg
           fi
           if [ -f /Extra/splash.png ]; then
              insmod png
              xnu_splash /Extra/splash.png
           fi
           if [ -f /Extra/splash.tga ]; then
              insmod tga
              xnu_splash /Extra/splash.tga
           fi
        fi
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
*********************** END /boot/grub/grub.cfg

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.35-rc5-00065-g539c16f (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages grub-efi-ia32 depends on:
ii  debconf [debconf-2.0]    1.5.33          Debian configuration management sy
ii  grub-common              1.98+20100720-1 GRand Unified Bootloader, version 
ii  ucf                      3.0025          Update Configuration File: preserv

grub-efi-ia32 recommends no packages.

Versions of packages grub-efi-ia32 suggests:
pn  efibootmgr                    <none>     (no description available)
ii  os-prober                     1.39       utility to detect other OSes on a 

-- debconf information:
  grub2/kfreebsd_cmdline:
* grub2/device_map_regenerated:
* grub2/linux_cmdline: i915.modeset=1 gpt
  grub2/kfreebsd_cmdline_default: quiet
* grub2/linux_cmdline_default:





More information about the Pkg-grub-devel mailing list