#1 Samsung NVMe legacy BOOT ROM present on 950 Pro by Flaky 29.01.2018 23:37

Hello everyone!

The samsung 950 Pro is a rare example of an NVMe SSD which has option rom, allowing it to boot on legacy bios platforms.
Did anyone attempt to extract it, and try to use it to boot similar sm951/pm951 SSDs? (via injecting into bios, loading the rom via plop...)
I searched for that and couldn't find anything. If anyone could provide it, I'd be happy to test it on mentioned OEM drives.

And last but not least - thanks for everyone in community for contributing! Thank you Fernando!

#2 RE: Samsung NVMe legacy BOOT ROM present on 950 Pro by Fernando 30.01.2018 00:07

avatar

@Flaky:
Welcome to the Win-RAID Forum!

Even if it would be possible to extract the NVMe Option ROM from the Samsung 850 Pro Firmware and to get any other NVMe SSD booting in LEGACY mode by injecting the ROM module into its Firmware, it doesn't make sense for me:
1. Option ROM modules are the past (=LEGACY). The users and the modern PC systems want/need EFI modules.
2. It is not a real problem to get full NVMe support in UEFI mode with old systems, which natively do not fully support NVMe.

Regards
Dieter (alias Fernando)

#3 RE: Samsung NVMe legacy BOOT ROM present on 950 Pro by Flaky 30.01.2018 00:44

Yes, I am perfectly aware of the fact that practical aspect of that is rather limited.
Still, there might be a certain group of people who might benefit from that.
I also consider it rather a "for science!" thing, but... why not try? :)

Unfortunately I do not own a 950 Pro, or know anyone having one.
It should be possible to extract already loaded option rom from system ram, using rweverything.
Or, from the firmware binary itself - but I haven't yet managed to dig it out from firmware update iso.

#4 RE: Samsung NVMe legacy BOOT ROM present on 950 Pro by davidm71 27.03.2018 06:07

avatar

@Flaky,

This is what youíve got to do to get your sm951 option-rom lacking ssd possibly working on an older legacy machine. Havenít tested this out yet so canít say if its going to work but here goes. First you need the VMWare NVME rom driver modded to match the device id of your SM951 and inserted into your bios. Your also going to need Plop boot manager configured as a Network Lan loader rom because your bios will not see your Nvme drive so youíll need plop to load Windows from the ssd.

In the next couple days Iím going to try this out and see if it works or not. All I can say so far is that the Vmware Nvme rom driver has made it so my system doesnt lock up when I had an Intel 750 in there so I think it will work. I know there are a lot of guys out there that donít have that problem but my old X58 board had that problem.

The other issue your going to have with this technique is lack of option rom space. Iíve already prepared my bios and got Plop booting from Lan but had difficulty getting it to work with the Intel Raid Rom at the same time. The system just didnít have enough option rom space for both but got it going eventually.

Anyhow if this works I think it would be pretty amazing. I just ordered a SM961 to test this idea out. I know I should really put that old X58 out to pasture but having fun fwiw. Also playing around with Plop is kind of fun. Curious how it will perform.

Later.

Props to Ethaniel for finding the Vmware Nvme rom driver.

#5 RE: Samsung NVMe legacy BOOT ROM present on 950 Pro by Ethaniel 05.04.2018 10:58

@davidm71, @100PIER, @chinobino, @Fernando:
Does any of you happen to have a Samsung 950 Pro or an Intel 750 NVMe SSD with legacy Option ROM capable of booting in legacy BIOS mode on a motherboard with no built-in support for NVMe an could help us out with providing a copy of the Option ROM?

I would like to experiment with the Option ROMs and see whether either one of these is capable of booting other NVMe SSDs in legacy BIOS mode.

I can provide instructions on extracting the Option ROM using a Linux boot CD/USB or I can create a simple UEFI driver or application to extract it if that works better for you.

Thank you.

#6 RE: Samsung NVMe legacy BOOT ROM present on 950 Pro by chinobino 05.04.2018 11:43

avatar

I downloaded the 2B0QBXX7 firmware for the 950 Pro from this page under the firmware section.

I extracted the 2B0QBXX7.iso and found a file 2B0QBXX7.enc (1 MB).

I have no idea if this file has what you are looking for but it might.

#7 RE: Samsung NVMe legacy BOOT ROM present on 950 Pro by Ethaniel 05.04.2018 11:55

@chinobino:
Thank you for following up this quickly.
I expect 2B0QBXX7.enc to also contain the Option ROM, but unfortunately it is obfuscated. I've found deobfuscators for older Samsung firmware but unfortunately those are not compatible with newer firmware, like this one.
There are repeating patterns in the obfuscated firmware, so I'm sure that it is not encrypted and could be figured out, but extracting the Option ROM from the hardware using the same standard method that the UEFI/BIOS is using is probably easier.

#8 RE: Samsung NVMe legacy BOOT ROM present on 950 Pro by Fernando 05.04.2018 12:43

avatar

Zitat von Ethaniel im Beitrag #5
Does any of you happen to have a Samsung 950 Pro or an Intel 750 NVMe SSD with legacy Option ROM capable of booting in legacy BIOS mode on a motherboard with no built-in support for NVMe an could help us out with providing a copy of the Option ROM?
I have both of them, but AFAIK the Intel 750 NVMe SSD doesn't contain an NVMe Option ROM. Are you sure, that it has such in-box module?

#9 RE: Samsung NVMe legacy BOOT ROM present on 950 Pro by chinobino 05.04.2018 14:04

avatar

I had a quick look around and could not find a tool to read/dump the firmware in Windows (although Linux looks like a better candidate based on the iso).

Do you know of such a tool?

#10 RE: Samsung NVMe legacy BOOT ROM present on 950 Pro by Ethaniel 05.04.2018 15:21

@Fernando:
Unfortunately I have no experience with either one of these SSDs, my speculation is based on what I've read from others, so you most likely are correct that Intel 750 has no such Option ROM.

@chinobino:
Unfortunately I am unaware of such a tool for Windows. You should however be able to extract the Option ROM using a Linux live USB.


Guide for crating a Ubuntu live USB: https://tutorials.ubuntu.com/tutorial/tu...tick-on-windows

Open up a terminal.

Become root, list PCI devices:

sudo su
lspci


Look for the ID of the SSD (something like this):
01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a802 (rev 01)


Go to the devices, and list them:
cd /sys/bus/pci/devices/
ls


Look for a matching ID (something like this):
0000:01:00.0


Extract the Option ROM using the ID found previously:
cd 0000:01:00.0/
echo 1 > rom
cat rom > /tmp/image.rom
echo 0 > rom


Save /tmp/image.rom to the USB drive or somewhere else accessible after reboot.

These should result in image.rom containing the Option ROM, unfortunately however I have no SSD with an Option ROM.

#11 RE: Samsung NVMe legacy BOOT ROM present on 950 Pro by chinobino 06.04.2018 13:07

avatar

Well I have an image.rom from the PCI Device ID the SSD was listed under:

image.zip

#12 RE: Samsung NVMe legacy BOOT ROM present on 950 Pro by Ethaniel 06.04.2018 15:19

@chinobino:
Thank you very much for extracting the Option ROM.

Seems to be legitimate to me. Has a legacy Option ROM and a UEFI driver. Vendor ID, Device ID and checksum are all correct.

I will provide an update once I had a chance to experiment with.

#13 RE: Samsung NVMe legacy BOOT ROM present on 950 Pro by Ethaniel 06.04.2018 23:47

I did some testing using my Samsung 960 Pro and the Samsung 950 Pro Option ROM.

I've modifyed the Vendor ID, Device ID and checksum values and inserted the Option ROM into my UEFI BIOS. I've also removed all three AMI NVMe modules from the BIOS.

Although the Option ROM enabled the BIOS to recognize the SSD and even the partition table, reading the directory structure resulted in random garbage. It did not cause any data corruption, but note that I haven't tried to write anything to the SSD.

Unfortunately I believe that this Option ROM has no support for any NVMe SSDs other than the Samsung 950 Pro.

Note that in the article How To Boot an NVME SSD from a Legacy BIOS (non UEFI) w/ Intel 750 Series SSD I've found that even though the Intel 750 has an Option ROM, it only contains an UEFI driver, no legacy Option ROM.

Xobor Forum Software von Xobor
Datenschutz