[HowTo] Get full NVMe Support for all Systems with an AMI UEFI BIOS

Ok bro :slight_smile:

I’ll Try :stuck_out_tongue:

Let’s start by noting the differences between the bios before this compatibility and those now ?

Since my ASRock Z97 Extreme6 mainboard offers NVMe support, I have done a look into the latest BIOS 2.01 Beta dated 03/19/2015, but could only find 2 modules with "nvme" within their names (the other ones may be hidden and just listed with a GUID). Both "nvme" modules have been attached as uncompressed files, but - as CodeRush already stated - users will not get NVMe support by simply inserting them.

NVMe_modules_of_BIOS_201.rar (15.1 KB)

Do not you have the tools to compare bit by bit the differences between these two bios ?
Someone to take the test using a motherboard with 2 bios ? (Gigabyte ?)

Yes, you can use an Hex Editor like HxD, if you want to compare the hex code of 2 different BIOS modules, but you will need 2 rather similar ones. Otherwise it doesn’t make sense.

Hmm … you just have to make the right version before right ?
it seems so obvious that subtlety in the translation must escape.

There must be a new bios for which the release notes do not indicate that the addition of NVMe compatibility :slight_smile:

I’m curious, since both Intel and the NVMe guys said that NVMe is compatible with older legacy BIOS systems. How would we go about starting the quest to see about pulling these NVMe parts out of EUFI BIOS files, and seeing if they fit/work on older legacy BIOS systems?

Just curious now that Intel introduced a NVMe PCIe card that seems affordable. Thanks

AFAIK this wouldn’t make much sense, because you won’t get the NVMe supporting SSD bootable.
For details you may read >this< article.

AFAIK this wouldn’t make much sense, because you won’t get the NVMe supporting SSD bootable.
For details you may read >this< article.



NVMe already works on all systems with PCIe for extra storage, but on our legacy BIOS in order to boot to it you need it in the BIOS, just like AHCI is in the BIOS. Intel’s bootable NVMe 750 SSD is bootable just like any other storage device, the only difference is it uses NVMe instead of AHCI or RAID to do the communication. If you replace the AHCI OROM with a NVMe OROM, then you just select NVMe in the BIOS instead of AHCI. Then install as the OS usual. Windows and Linux already have the drivers for NVMe built in, just like they have drivers for AHCI. The OS will see the device instantly. All we need is the NVMe orom bits placed in our BIOS files.

Intel already confirmed all of this Fernando, NVMe is compatible with legacy BIOS and its bootable. Its now up to the manufacturers to write the NVMe oroms for our bios (which wont be done), or have 3rd parties figure out how to include it, like was done with the Intel OROMs which were also not made for our aging systems. It shouldn’t be that difficult to figure out.

Someone, like me, has to start poking around somewhere… lol

Only the latest Windows Operating Systems from Win8.1 up do natively support NVMe.

I am not sure, whether the chipset manufacturers will develop special Option ROM modules for NVMe support. They are not interested in supporting old (= non-UEFI) systems.

Only the latest Windows Operating Systems from Win8.1 up do natively support NVMe.

I am not sure, whether the chipset manufacturers will develop special Option ROM modules for NVMe support. They are not interested in supporting old (= non-UEFI) systems.





No the manufacturers won’t be making new bios’s with NVMe support, that is obvious. But I have the Asus NVMe rom already, Asus released it on April 3rd for their current ROG series. I just need to know how to pull the option rom out of the UEFI bios, and then check its size. If its under 128 Kbytes maybe I can mod it into a legacy bios? I will contact Intel and see if they would be willing to write a NVMe OROM for one of their Legacy BIOS based Motherboards. It just needs to be under 128 Kbytes as far as I know. If I can get that built, then I can mod it into my BIOS myself.

NVMe has been used for years now, so chances are they were already built for specific BIOS systems in the server sector. Someone probably already has the code lying around somewhere.

Fernando, is their a tool that can edit UEFI? Can MMTOOL do it?

What lets you think, that it is an Option ROM and not an EFI module?

This is very easy by using AMI’s Aptio UEFI MMTool.

The NVMe module of my ASRock Z97 mainboard is very small (19 KB uncompressed).

What do you want to edit?

The AMI Aptio UEFI MMTool is able to extract any module off an UEFI BIOS.

Most excellent information. Thank you very much.

I do not know the differences from option rom and efi modules, which is why I created this thread to learn what is needed for this goal.

The EFI modules cannot be used, when the OS has been installed in LEGACY mode.
The Option ROM modules are usually all together within the UEFI BIOS module named CSMCORE. For details please look into the start post of >this< thread.

Have you good news for me ? :slight_smile:

If you should mean me, which good news do you expect from my side?
I am not able to create the code of an NVMe Option ROM module. The structure and the content of Option ROM and EFI "Driver" modules are completely different.

Here is an ASRock mainboard with support for NVMe in BIOS version 1.80: LINK
And here a user assumes, that RST OROM and EFI driver module 13.1 or above is enough to get NVMe working: LINK


From v13.2.0.1016 release notes & OEM documentation (Note 5):

So this means, that RST support for NVMe devices way delayed to version 13.7.
But the ASRock X99 Extreme3 hast NVMe support with RST 13.1 and 13.2 modules in BIOS.
Conflicting information OR RST support and general support are two totally different things…

Is the OEM documentation for RST 13.5 and 14.0 available online?
Maybe some documentation for RSTe 4.1?

As CodeRush said at post #3, adding NVMe support is not just about the RST firmware & driver. What OEMs mean is probably that the BIOS is now NVMe ready. When Intel decides to release an official NVMe RST firmware it’s a completely different story.

Back in January I had done a small search for RST packages (firmware + documentation) but at the time I hadn’t found anything after 13.0 and RSTe 3.0. Today (after 3 months) I added 13.2 OEM documentation. Source is MSI.

http://www.mediafire.com/download/m70rsa…r+Dieter+v4.rar

Capture.PNG

NVMe will be the successor of the AHCI standard and I doubt, that Intel will ever add NVMe support into their Intel RST/RSTe RAID ROM/EFI modules.
Furthermore I am not sure, whether we will ever get our hands on an Intel RST driver v13.7.

The latest BIOSes for my ASRock Z97 Extreme6 do support NVMe as well, but by completely separate NVMe modules (look >here<), which have nothing to do with the Intel RAID ROM/EFI modules.