[ipxe-devel] Script embedding in EFI environment

Lukas Zapletal lukas at zapletalovi.com
Thu Dec 1 15:49:31 UTC 2016


Hello,

our project (www.theforeman.org) provides functionality to generate
bootdisk for individual hosts. These are either iPXE or SYSLINUX based. The
iPXE version does load the kernel/initramdisk directly via HTTP, the
SYSLINUX has embedded linux kernel.

Now, we had no UEFI support, until now. I am able to implement SYSLINUX
bootdisk type (we call it Full host image) with Grub2 and that was pretty
simple.

I would like to add ipxe.efi into the image and be able to boot it, which
is also doable either directly, or via chainbooting from Grub2. But the
problem is, with SYSLINUX we've been able to provide the script via
initramdisk (it's call embedding in iPXE terms I believe):

default ipxe
label ipxe
kernel /ipxe
initrd /script

This worked fine, but I am unable to do the same with ipxe.efi.

set default=0
set timeout=1
menuentry "Chainload iPXE - this does not work" {
  linuxefi /ipxe.efi
  initrdefi /script
}
menuentry "Chainload iPXE - this loads iPXE but no script" {
  search --no-floppy --set=root -f /ipxe.efi
  chainloader /ipxe.efi + 1
}

Is there a way to embed a script? What I want to avoid is building iPXE
from scratch (with embedded script), I don't want to make our application
complex and compiler and tools are not usually available on production
installations.

If there is no way of doing that from Grub2, I am fine booting iPXE
directly, that's just more work when generating the ISO (hybrid) image for
me, but feasible too.

Tried to post into the user forum, but it did not work (form was submitted
but no post appeared). Later on, I saw a PostgreSQL error page, so sending
to the dev list if you don't mind. Thanks for help!

-- 
S pozdravem / Best regards
  Lukas Zapletal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20161201/b137df94/attachment.htm>


More information about the ipxe-devel mailing list