# Install on NVMe SSD



## Jeckt (Dec 29, 2016)

I'm having problems installing FreeBSD on a machine, and I'm stuck.

The machine is a SuperMicro E300. The NVMe drive is a Samsung 950 Pro M.2

During the install, everything seems fine. The drive nvd0 shows up, and no errors are reported.  During the next reboot the bootloader works, but then stops.  If I manually set up zfs instead of letting the installer do it, I can get zfs to report it can't find the device by guid. Installing using UFS has the same results. I'm not sure what part doesn't jive between the installer and booting.


----------



## tingo (Dec 30, 2016)

Time to play with the bootloader command line. From the bootloader command line, which devices can you see when you do the `lsdev` command?


----------



## Jeckt (Jan 3, 2017)

lsdev shows  
	
	



```
disk0: Bios drive C:
```

zfs devices is empty.  I noticed vfs.zfs.boot_primary_pool and vfs.zfs.boot.primary_vdev are both set to long numbers (which are different).  Perhaps these are wrong?  How would I get the correct id and set it?


----------



## abishai (Jan 3, 2017)

Is motherboard able to boot from nvme at all ? This mostly relies on vendor implementation.
Try random linux as test/BIOS upgrade/UEFI or legacy


----------



## driesm (Jan 4, 2017)

I'm quiet convinced that booting from an NVMe drive requires UEFI.
Could you possible confirm that you have booted from usb stick with [UEFI] infront of it when installing FreeBSD?
And thus have installed FreeBSD in UEFI mode?
Your motherboard supports it so why shouldn't you anyway.
If you want to be sure you should switch 'Boot Mode Select' to 'UEFI' instead of 'DUAL' under the tab 'BOOT' in your (UEFI) BIOS (from the manual of your motherboard). This way you can only boot an OS or OS installer in UEFI mode.

Also, which FreeBSD version are you installing? If I recall correctly 11.0 includes the nvd and nvme driver by default in the GENERIC kernel. If you're installing FreeBSD 10.3 you might want to load these drivers when you reboot by editing /boot/loader.conf with 
	
	



```
nvme_load="YES"
nvd_load="YES"
```


----------



## Jeckt (Jan 4, 2017)

> And thus have installed FreeBSD in UEFI mode?


I've been attempting 11.0, although I tried 10.3 once just to make sure it wasn't a regression.  I've had bad experiences with UEFI so I tend to avoid it, but you got me on the right track. I'd tried combinations of "DUAL" mode and "LEGACY" for booting, but apparently didn't try  UEFI before installing, only messing with it trying to get the boot going. Although I've noticed it likes to revert to "DUAL" even though I'm positive I set it to UEFI, so that wasn't helping.  Setting the boot to UEFI before installing got me booting most of the way, although it got stuck again due to residual install/partition data from previous failures. After clearing the drive I'm up and running.

Now I just have to figure out why 4 of my 6 network interfaces are missing, but I'm sure I just moved the wrong jumper somewhere.


----------



## Phishfry (Feb 12, 2017)

Duffyx said:


> I'm quite convinced that booting from an NVMe drive requires UEFI.


I just got a server board with nvme slot and it does not require pure UEFI. I am using "Legacy and UEFI" in CSM settings.

I had to try it as I am new to nvme. My previous attempt on IvyBridge boards saw low throughput and not bootable. I used an PCIe adapter.
On C232 I have it booting from either nvme slot or PCIe slots with adapter. I am seeing low bandwith on the nvme slot though.

I am working up my benchmarks now and will post. Windows and FreeBSD throughput.


----------

