[ipxe-devel] have you tested grub-efi 2 on ipxe boot

Jarrod Johnson jarrod.b.johnson at gmail.com
Tue Oct 29 16:37:40 UTC 2013


Note that with elilo, I patched it to take advantaged of the download
protocol that ipxe provides.  It was straightforward for a project that
heavily embraces efi protocols like elilo does.

grub2 has no way to take advantage of ipxe protocol in theory today.  They
have their own homegrown ip stack such that their interaction with firmware
or other efi runtime components is only SNP.  I had at the time considered
trying to patch grub2 but things are sufficiently hard baked to their
builtin stack that I coludn't sort out a clean way to try.

So there's two possibilities:
grub2's current network support provides what you want.  I don't know if it
even works as well as I could optimistically guess by looking at code as I
haven't had time to check.  If everything in the code works as best I could
figure, you could have http and tftp support.  ipxe is not needed for your
flow if this is the case.  I need more features out of a network stack than
grub2 provides, so using that facility is a non starter for xCAT.

Embrace elilo for current kernels.




On Mon, Oct 28, 2013 at 11:29 PM, Yixuan Huang <yixuan178 at gmail.com> wrote:

> Thanks All.
> Actually, we want to implement a similar solution like xCAT did for elilo.
> So we ask for if it is possible to load grub.efi from ipxe, then load
> kernel/initrd.
>
> Thanks,
> yixuan
>
>
> On Tue, Oct 29, 2013 at 3:11 AM, James A. Peltier <jpeltier at sfu.ca> wrote:
>
>>
>> ----- Original Message -----
>> | ----- Original Message -----
>> | | On 28/10/13 03:12, Yixuan Huang wrote:
>> | | > Recently, I tried to use grub.efi to net-boot my system from
>> | | > ftp/http
>> | | > servers. I have put my kernel/initrd files in remote server, and
>> | | > previously, I used elilo.efi to boot.
>> | |
>> | | You should be able to use iPXE to directly load a kernel+initrd on
>> | | an
>> | | EFI system.  You will need to add e.g. "initrd=initrd.img" to your
>> | | kernel command line.
>> | |
>> | | Michael
>> |
>> | In this way?
>> |
>> | #!ipxe
>> | initrd
>> |
>> http://mirror.its.sfu.ca/mirror/CentOS/6/os/${arch}/images/pxeboot/initrd.img
>> | || goto failed
>> | kernel
>> |
>> http://mirror.its.sfu.ca/mirror/CentOS/6/os/${arch}/images/pxeboot/vmlinuz
>> | initrd=initrd.img \
>> | method=http://mirror.its.sfu.ca/mirror/CentOS/6/os/${arch}/ ip=dhcp
>> | ksdevice=bootif dhcptimeout=240 ||
>>
>> If this is indeed the correct syntax, then no it does not work.  I end up
>> with an Exec Format Error when doing this on a machine that is EFI mode.
>>  These appear to be the same files being loaded by the BOOTX64.EFI
>> configuration file
>>
>> http://mirror.its.sfu.ca/mirror/CentOS/6/os/x86_64/EFI/BOOT/BOOTX64.conf
>>
>> This is when using snponly.efi.  Perhaps I need to use something else.
>>  It's a Dell PowerEdge R410
>>
>> --
>> James A. Peltier
>> Manager, IT Services - Research Computing Group
>> Simon Fraser University - Burnaby Campus
>> Phone   : 778-782-6573
>> Fax     : 778-782-3045
>> E-Mail  : jpeltier at sfu.ca
>> Website : http://www.sfu.ca/itservices
>>
>> “A successful person is one who can lay a solid foundation from the
>> bricks others have thrown at them.” -David Brinkley via Luke Shaw
>> _______________________________________________
>> ipxe-devel mailing list
>> ipxe-devel at lists.ipxe.org
>> https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel
>>
>
>
> _______________________________________________
> ipxe-devel mailing list
> ipxe-devel at lists.ipxe.org
> https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20131029/31f2e67a/attachment.htm>


More information about the ipxe-devel mailing list