Re: Creating an (Apple) EFI bootable media

2009-10-09 Thread Michal Suchanek
2009/10/2 Peter Cros pxwp...@gmail.com:
 OSX bless works for me with grub.efi in any hfsplus partition using the form
   bless --folder /xyz  --file /xyz/grub/grub.efi
 (if the file paths are correct - I use GUI and drag the file icon onto a
 terminal commandline)

 However it is not always necessary to bless. On Apple Mac, the UEFI spec
 will boot *.efi  without needing to be blessed, and without refit, if it
 fits the naming convention in the UEFI spec. So a simple bootable package
 can be built.

 http://www.uefi.org/specs/ -
  EFI System Partition Subdirectory Registry
  UEFI Specification Version 2.3
  3.4.1.1 Removable Media Boot Behavior - Table 9. UEFI Image Types

 If grub.efi is renamed to bootx64.efi or bootia32.efi and placed in fat32 or
 hfsplus tree /efi/boot, it will then be shown on the restart with Optiion
 key.

 However to get an automatic default boot, probably requires the bless form
 with the --setBoot option.

 For Apple Mac with 64 bit EFI -
  ...@im:~/test$ tree efi
  efi
  `-- boot
  |-- bootx64.efi
  |-- bootx64.icns
  `-- grub.cfg


This works nicely for me. The steps are:

1) build grub for efi 32bit a efi 64bit
2) use mkimage to add all modules (except kernel) to grub.efi
3) format a fat32/mbr flash disk
3) copy the appropriate .efi images to the directory structure as above
4) create a grub.cfg and remember to include a font if needed

Now the plug the flash disk into a mac and start/restart it while
holding ALT. The boot menu welcomes you with a EFI boot option even
before it finds the OS X boot options ;-)

Thanks

Michal


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: Creating an (Apple) EFI bootable media

2009-10-02 Thread Michal Suchanek
2009/10/2 Peter Cros pxwp...@gmail.com:
 OSX bless works for me with grub.efi in any hfsplus partition using the form
   bless --folder /xyz  --file /xyz/grub/grub.efi
 (if the file paths are correct - I use GUI and drag the file icon onto a
 terminal commandline)

 However it is not always necessary to bless. On Apple Mac, the UEFI spec
 will boot *.efi  without needing to be blessed, and without refit, if it
 fits the naming convention in the UEFI spec. So a simple bootable package
 can be built.

 http://www.uefi.org/specs/ -
  EFI System Partition Subdirectory Registry
  UEFI Specification Version 2.3
  3.4.1.1 Removable Media Boot Behavior - Table 9. UEFI Image Types

 If grub.efi is renamed to bootx64.efi or bootia32.efi and placed in fat32 or
 hfsplus tree /efi/boot, it will then be shown on the restart with Optiion
 key.

 However to get an automatic default boot, probably requires the bless form
 with the --setBoot option.

 For Apple Mac with 64 bit EFI -
  ...@im:~/test$ tree efi
  efi
  `-- boot
  |-- bootx64.efi
  |-- bootx64.icns
  `-- grub.cfg


This sounds like an easy way of creating boot media from non-Apple OS.

I will try that and also a different brand of flash. I am sure I
booted these machines from flash before.

Thanks

Michal


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Creating an (Apple) EFI bootable media

2009-10-01 Thread Michal Suchanek
Hello

Is there a way to reproducibly create Grub bootable media (CD, USB
stick) that can be used with Apple efi?

I tried some ways of blessing the boot loader which I found on the net
but none works.

Also the default core image probably lacks some essential parts. I
managed to load it as rEFIt shell command by placing it in the tools
directory but it complained about prefix not being defined and I
seemingly had no commands - the help command was not available, and
pressing tab did not show anything.

For some reason I cannot boot rEFIt from external media either but I
can bless rEIFt on the built-in HDD.

I don't know what the Apple bless commnad is supposed to do so I have
no idea if whatever it did was correct.
I suspect different arguments than those advised on the various web
pages are needed when blessing a boot loader on an external medium (as
opposed to the root volume).

Thanks

Michal


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: Creating an (Apple) EFI bootable media

2009-10-01 Thread Michal Suchanek
2009/10/1 Bean bean12...@gmail.com:
 On Thu, Oct 1, 2009 at 11:17 PM, Michal Suchanek hramr...@centrum.cz wrote:
 Hello

 Is there a way to reproducibly create Grub bootable media (CD, USB
 stick) that can be used with Apple efi?

 I tried some ways of blessing the boot loader which I found on the net
 but none works.

 Hi,

 You should format it as GPT, MBR may not work. The fs of choice is
 hfsplus, although I heard someone have successful boot with FAT.

 To bless the disk, use something like this: (only available for hfsplus)

 sudo bless --folder=/Volumes/USBDISK --file=/Volumes/USBDISK/efi/grub/grub.efi

That's what I use and what can be found on varoius forums and wikis.

It works neither with rEFIt nor grub for me. Perhaps I am not using
the = character, I should check that but bless does not report any
error and it actually changes the information (there is another bless
option to show the state).


 bless writes the location of boot file to the hfsplus header. bless
 doesn't work on FAT.

 At startup, you need to press the Option key to show startup disk, and
 select the usb disk.

The disk does not show in the options offered by the firmware.


 The following command writes the boot device to nvram so that it's
 used by default:

 sudo bless --folder=/Volumes/USBDISK
 --file=/Volumes/USBDISK/efi/grub/grub.efi --setBoot

As I understand it this is not required for hfsplus, only for fat
which cannot be blessed permanently.
It makes no difference either way.



 Also the default core image probably lacks some essential parts. I
 managed to load it as rEFIt shell command by placing it in the tools
 directory but it complained about prefix not being defined and I
 seemingly had no commands - the help command was not available, and
 pressing tab did not show anything.

 You can add the command to the generated EFI image with grub-mkimage,
 here are the list of modules I usually use:

 ./grub-mkimage -d . -o grub64.efi minicmd part_gpt part_msdos
 part_apple fat ext2 hfsplus hfs ntfs reiserfs xfs iso9660 udf ls
 search loopback linux chain reboot halt appleldr help configfile
 hexdump loadbios memrw fixvideo crc sh video efi_fb gfxterm font png
 coreui loadcfg menutest gfxmenu textmenu

Hmm, I'm probably missing the shell or something. Can't the
installation pre-create an efi image that contains most options? AFAIK
the size of the image is not of much concern on efi so creating a
mostly complete image would simplify things.

Thanks

Michal


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: Creating an (Apple) EFI bootable media

2009-10-01 Thread Bean
On Fri, Oct 2, 2009 at 2:29 AM, Michal Suchanek hramr...@centrum.cz wrote:
 2009/10/1 Bean bean12...@gmail.com:
 On Thu, Oct 1, 2009 at 11:17 PM, Michal Suchanek hramr...@centrum.cz wrote:
 Hello

 Is there a way to reproducibly create Grub bootable media (CD, USB
 stick) that can be used with Apple efi?

 I tried some ways of blessing the boot loader which I found on the net
 but none works.

 Hi,

 You should format it as GPT, MBR may not work. The fs of choice is
 hfsplus, although I heard someone have successful boot with FAT.

 To bless the disk, use something like this: (only available for hfsplus)

 sudo bless --folder=/Volumes/USBDISK 
 --file=/Volumes/USBDISK/efi/grub/grub.efi

 That's what I use and what can be found on varoius forums and wikis.

 It works neither with rEFIt nor grub for me. Perhaps I am not using
 the = character, I should check that but bless does not report any
 error and it actually changes the information (there is another bless
 option to show the state).


 bless writes the location of boot file to the hfsplus header. bless
 doesn't work on FAT.

 At startup, you need to press the Option key to show startup disk, and
 select the usb disk.

 The disk does not show in the options offered by the firmware.


Hi,

Oh, perhaps some model doesn't support the usb boot method.


 The following command writes the boot device to nvram so that it's
 used by default:

 sudo bless --folder=/Volumes/USBDISK
 --file=/Volumes/USBDISK/efi/grub/grub.efi --setBoot

 As I understand it this is not required for hfsplus, only for fat
 which cannot be blessed permanently.
 It makes no difference either way.

Each partition has a default boot file, but the default boot device is
stored in the nvram. --setBoot sets this value. This is the same as
selecting the boot device from Startup Disk. Although if firmware
can't boot from usb, setting this would have any effects.




 Also the default core image probably lacks some essential parts. I
 managed to load it as rEFIt shell command by placing it in the tools
 directory but it complained about prefix not being defined and I
 seemingly had no commands - the help command was not available, and
 pressing tab did not show anything.

 You can add the command to the generated EFI image with grub-mkimage,
 here are the list of modules I usually use:

 ./grub-mkimage -d . -o grub64.efi minicmd part_gpt part_msdos
 part_apple fat ext2 hfsplus hfs ntfs reiserfs xfs iso9660 udf ls
 search loopback linux chain reboot halt appleldr help configfile
 hexdump loadbios memrw fixvideo crc sh video efi_fb gfxterm font png
 coreui loadcfg menutest gfxmenu textmenu

 Hmm, I'm probably missing the shell or something. Can't the
 installation pre-create an efi image that contains most options? AFAIK
 the size of the image is not of much concern on efi so creating a
 mostly complete image would simplify things.

The above list contain most of the things I need, although you can use
*.mod to include all modules, but I think some have unresolved symbol
issue and you can get an error.

-- 
Bean

gitgrub home: http://github.com/grub/grub/
my fork page: http://github.com/bean123/grub/


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: Creating an (Apple) EFI bootable media

2009-10-01 Thread Peter Cros
OSX bless works for me with grub.efi in any hfsplus partition using the form
  bless --folder /xyz  --file /xyz/grub/grub.efi
(if the file paths are correct - I use GUI and drag the file icon onto a
terminal commandline)

However it is not always necessary to bless. On Apple Mac, the UEFI spec
will boot *.efi  without needing to be blessed, and without refit, if it
fits the naming convention in the UEFI spec. So a simple bootable package
can be built.

http://www.uefi.org/specs/ -
 EFI System Partition Subdirectory Registry
 UEFI Specification Version 2.3
 3.4.1.1 Removable Media Boot Behavior - Table 9. UEFI Image Types

If grub.efi is renamed to bootx64.efi or bootia32.efi and placed in fat32 or
hfsplus tree /efi/boot, it will then be shown on the restart with Optiion
key.

However to get an automatic default boot, probably requires the bless form
with the --setBoot option.

For Apple Mac with 64 bit EFI -
 p...@im:~/test$ tree efi
 efi
 `-- boot
 |-- bootx64.efi
 |-- bootx64.icns
 `-- grub.cfg




-- 
Cros (pxw)
___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel