[ipxe-devel] Multiple initrd in UEFI

Michael Brown mcb30 at ipxe.org
Wed Sep 6 10:04:06 UTC 2017

On 06/09/17 06:05, Christian Nilsson wrote:
> What happens here is that you are booting a bzImage, the cpio handling 
> is only done when the bzImage type is booted and is not when the initrd 
> is loaded.
> In EFI mode everything goes via the EFI image type instead, which has no 
> such handling.
> (enabling bzImage support in EFI mode is not possible)
> I have requested support for this as well, but there are some issues 
> that as of yet does not have any clear solution.
> Maybe Michael can give us an update on this.

My solution sketch for this is to have iPXE's virtual filesystem (the 
one exposed to the kernel via EFI_SIMPLE_FILE_SYSTEM_PROTOCOL) have the 
ability to provide CPIO-wrapped versions of any file.  The main 
outstanding question is just what naming scheme to use.  There are 
several options:

- A virtual directory, allowing for e.g. initrd=cpio/test.sh

- A hidden virtual directory, allowing for e.g. initrd=.cpio/test.sh

- Magic extensions, allowing for e.g. initrd=test.sh.cpio


More information about the ipxe-devel mailing list