3 ms·
Because the ramdisk provided by ipxe.efi can't be mounted by kernel, as it disappears once ExitBootServices is called early in kernel boot code. However, booti
by p_l 5y ago
Because the ramdisk provided by ipxe.efi can't be mounted by kernel, as it disappears once ExitBootServices is called early in kernel boot code.
However, booting linux using ipxe.efi involves downloading to the temporary ramdisk the kernel and initrd image(s), then booting it as normal uefi executable passing initrd image(s) as parameters. The UEFI "wrapper" used by kernel uses UEFI calls to copy contents of initrd into kernel-accessible memory before early boot code removes the temporary ramdisk.
But so long as you do not hit ExitBootServices(), ipxe.efi installs a simple filesystem driver that stores everything in memory and mounts an instance of it as "current directory" for all actions in your boot script.