grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Creating an (Apple) EFI bootable media


From: Bean
Subject: Re: Creating an (Apple) EFI bootable media
Date: Fri, 2 Oct 2009 03:55:24 +0800

On Fri, Oct 2, 2009 at 2:29 AM, Michal Suchanek <address@hidden> wrote:
> 2009/10/1 Bean <address@hidden>:
>> On Thu, Oct 1, 2009 at 11:17 PM, Michal Suchanek <address@hidden> 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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]