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

Vladimir 'φ-coder/phcoder' Serbinenko phcoder at gmail.com
Mon Nov 1 09:51:00 UTC 2010


severity 589902 wishlist
thanks
HFS(+) way is Apple-specific, distinct from standard way and is poorly
documented. Moreover Apple systems are bootable the standard EFI way and
by default it has EFI system partition which would otherwise be unused.
So advantages of using HFS(+) are purely theoretical. Decreasing severity
On 07/22/2010 07:04 AM, Tino Keitel wrote:
> 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:
>
>
>
> _______________________________________________
> Pkg-grub-devel mailing list
> Pkg-grub-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/pkg-grub-devel
>
>   


-- 
Regards
Vladimir 'φ-coder/phcoder' Serbinenko


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 294 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-grub-devel/attachments/20101101/b82b142b/attachment.pgp>


More information about the Pkg-grub-devel mailing list