I've done something
similar recently and was going to ask if I'd missed a better way.
So my main issue was the Dell R220 doesn't allow booting from NVMe.
I'd used USB UEFI boot to install FreeBSD 13.0 to a single NVME, UFS and that went fine.
But when I unplugged the USB ... no way to get the BIOS to boot from the NVME.
I need to dig out my notes as to what exactly I did for my situation, but this page was the main help:
Months ago I bought an HP Z620 as a Hyper-V server at home. One day, I fond that my 500GB 860EVO SSD was almost full. Considering the factors of price, performance, and capacity, I decided to purchase a 2TB Intel DC P4500 SSD. However, after installing the SSD, I found that it was not recognized...
ntzyz.io
So I've ended up with a USB stick in the internal USB port and this USB stick is the boot device holding a UEFI shell and a startup.nsh script.
It boots from the USB stick, loads the UEFI shell that uses the startup.nsh to boot FreeBSD from the NVME.
In case the linked page disappears from the internet, I've copied the four lines of the script:
Code:
load -nc fs0:\NvmExpressDxe-64.efi
connect -r
map -u
fs1:\EFI\BOOT\BOOTX64.EFI
The UEFI shell doesn't have an NVME driver, so line 1 does that. The connect and map commands connect & map to the NVMe device, making it available as fs1 (fs0 being the boot USB device). The fourth line makes it run the EFI code on the NVMe device, and because I'd previously installed FreeBSD on the NVMe, it carried on booting my previous installation.
The reason I was going to post on the forums - what I've done does work, but there are a few quirks (again have to check my notes) - main one that I can recall is that when I use top it shows a battery line as though it thinks I've got it running on a laptop - but it's a Dell R220 server.
My other questions were about how safe it was to boot from a downloaded UEFI shell & NVME driver.
Finally you talk about two NVMe devices - that won't work in my case with the Dell because the BIOS doesn't support bifurcation - so you
might have further issues if you are trying to use a card with two NVMe devices on.
I'll dig out my notes so I can explain exactly what I had to do (and where I got the UEFI shell and NVME driver from), but think this approach
might work for you as well, depending on the hardware and what exactly you are trying to do.
I've not used the machine yet, just got to the point of it UEFI booting from USB (as an initial stage) and then booting off NVMe - so there might be flaws in the cunning plan that I'm not aware of yet!