I'm trying to develop a tool for automated BIOS flashing from the EFI
shell using IPMI serial over lan to drive it. To accomplish this, my
plan is to use a network booted EFI shell with a tftp client and a
ramdisk to download the flash tools and ROM into as a workspace and then
run the flash commands from that ram disk.
I've been able to successfully build and boot an efi shell from the edk
2 sources including the tftp client. I've also been able to separately
build the RamDiskDxe driver from the MdeModulePkg. Loading the
RamDiskDxe.efi driver file results in a successful message, but I do not
get any usable ram disk made available to me?
How do I get a usable drive letter/name (ie blk0: or any other name)
from the RamDiskDxe driver?
Once I've done that, will it be possible to include the RamDiskDxe
driver as part of the network bootable efi shell image? I assume I'll
need to modify the .dsc file for the ShellPkg to include the
If anyone has any other suggestions for this, I'm open to ideas. The
only way I've been successful in network booting EFI shell is using just
that file directly. I tried creating a dos filesystem image with the
efi shell file in it just like would work with a USB key, but that would
not boot over the network stack. If there is some way of creating a
network bootable EFI shell filesystem image (similar to how Linux can
network boot a separate vmlinuz kernel and initrd image)?
Are there any docs that I've missed (I've tried looking in the user docs
and on the wiki) regarding setting up RamDiskDxe?
edk2-devel mailing list