# General comments about FBSD-12 with AMD Ryzen 7 and MSI X570 ACE



## SpatialDeflection (Aug 14, 2019)

It was a profound surprise to me when I found out that MSI (current and past 2-3 generations) motherboards no long support booting from a PCIe HDD. For at least 15 years I have been using various MSI motherboards with many different PCIe controlled hard drives. My last MB, 990XA-GD55, had 2 internal PCIe SATA drives, 1 internal 15Krpm PCIe controlled SAS drive, and 1-2 external eSATA drives (one was a 10Krpm device).  There were external USB drives that I also used occassionally. I would boot off of the internal 15krpm SAS drive and it was my "root" system.

Install MSI MEG X570 ACE mb with AMD Ryzen 7 3800X CPU and whammo - no more booting from internal PCIe connected SAS drive. Nada. Zilch. No way. Talked to MSI MB Tech Support and they told me that MSI had dropped PCIe boot capability some time ago and yes - it is not available (at least on the X570). I let them know that I was NOT pleased and that "they" had (effectively) killed 4 of my hard drives. I requested that PCIe boot capability be reinstituted and "they" said that they would pass this (request) on to (MSI) HQ.

I then looked into "boot chaining" where I would start with SOMEthing that the X570 would boot from and then redirect the boot loader to my internal SAS drive. One little gotcha here was that the FBSD "boot chaining" method requires BIOS access to the drives to be used. Since the X570 BIOS cannot directly access the internal SAS drive - "boot chaining" was not possible.

So now I have an SSD (which is treated as a SATA device) as my "root" system and then mount the other drives. NOT what I wanted. I was trying to migrate from FBSD-9.3 to FBSD-12.0, but wanted very much to keep my extensive 9.3 development system operating whilst building 12.0 on a separate drive. Some may be "thrilled" to see an SSD in use, but those that are need to be reminded that the average life span of an SSD is much shorter than that of a quality HDD (ie; SSD cell "burnout" from write commands).

NO WHERE is there any public/consumer documentation that I can find in MSI-land or Internet-land that mentions this change in boot capablity philosophy change. Is it just MSI or is it an "industry trend"? No advertised motherboard marketing hype or product details say anything about what types of devices any given motherboard will boot from. Not even the motherboard manual.

Next up - AMD virtualization and MSI BIOS. I have some 20-30 VirtualBox VM's that I use to "play with" or use for development. After struggling with the plethora of FBSD-12.0 ports that have "vulnerabilities" that require a manual override, and wracking my brain, and system, trying to figure out how to get my venerable, but still usable, nVidia GeForce GT 440 graphics card and xorg to work together politely, I finally got a chance to try VirtualBox. Hmmm - it wasn't recognizing any CPU virtualization capability and was downgrading all 64-bit VMs to 32-bit. Not good. Again - swimming around manual pages, Internet postings, and previous system configurations - I finally found one posting that pointed to MSI AMD virtualization ("SVM") setting in the BIOS Overclock group. First - I didn't know what "SVM" meant - a Wikipedia article cleared that up. Then I found the MSI BIOS "SVM" setting - it was disabled. Enabled SVM and IOMMU, rebooted, and now VirtualBox is happy and 64-bit VMs are once again 64-bit guests. I also noticed additional FBSD boot messages related to SVM and "Intel Secure Ring".

SO - if you have a bunch of H/W that you would like to be able to use in a new motherboard, it would behove you to "travel the lanes" and see if you can find sufficient corroborating information that lets you know if you can use all of the H/W to migrate, or not.


----------



## SpatialDeflection (Aug 15, 2019)

Additional side notes:

1) after thinking some more, I realized that my expirience with MSI motherboards goes back more that 15 years; more like 20 - 20+ years

2) Once FBSD was booted, the LSI 2308 SAS drives and the Startech eSATA controller drives were recognized and accessible; so the OS had no problems with either PCIe controller nor the drives themselves; it is just the MSI X570 motherboard that would not boot from any PCIe drive


----------



## olli@ (Aug 15, 2019)

Thanks for sharing your findings. That's useful information for others that need the ability to boot from PCIe add-on cards.

Unfortunately, the boot loader depends on BIOS support for devices to load the kernel from – either system BIOS (legacy or UEFI) or BIOS extensions on add-on cards.
The usual solution for problems like that is to put the /boot directory (containing the kernel) on a small HDD or SDD connected to an on-board SATA port. You can even use a USB stick, speed doesn't matter much – It takes a few more seconds to load, but once the system is booted, it isn't accessed anymore.


----------



## zsolt (Aug 15, 2019)

Does Turbo Core works for you?


----------



## SpatialDeflection (Aug 15, 2019)

Olli: correct about using SATA drive. That was what I mentioned and also what I used (via SSD as SATA). It was just that the X570 would not allow me to boot from my SAS drive, also as mentioned. I did start out using a USB FBSD but needed to free up that USB port as all of the other backend USB ports were occupied and I needed to be able to provide for an additional USB connection on occasion, which would work best in the back versus the front.

zsolt: Turbo Core has nothing to do with BIOS restrictions on boot devices. That is for CPU runtime freq adjustments. Thanks for the comment though.


----------



## SpatialDeflection (Aug 15, 2019)

As the removal of PCIe boot capability was a complete surprise to me, perhaps one or more enterprising individuals can start a list of other motherboards with the same restriction. With the different HDD that I have and use - I certainly would't want to purchase another motherboard that would prevent me from booting from ALL/ANY of the types of HDD that I might have or might contemplate using. To me, this is a fundamental paradigm shift.


----------



## olli@ (Aug 16, 2019)

Actually, it's not far-fetched to assume that a mainboard's BIOS contains drivers for the on-board components _only_. I would not expect it to support each and every PCI card I plug into it.

I remember when I bought a HDD controller card (long time ago), I could chose between a cheap version and a “bootable” version. The difference was that the more expensive one had its own BIOS ROM that hooked into the system's BIOS, so you could boot from hard disks connected to the card. With the cheaper card, the BIOS wouldn't even _see_ the disks connected to it, let alone boot from them.


----------



## SpatialDeflection (Aug 17, 2019)

Hmmm - lets put this back into perspective:

1) with 20, or more, years of experience using MSI motherboards I have never before had a PCIe attached HDD that I could not boot from - but am not able to do so with the MSI X570, no matter what kind of HDD or generational age (ie; with or without standalone BIOS on an HDD); having this many years of experience I had expected the continuation of PCIe HDD booting to not be an issue

2) MSI MB Tech Support admitted that MSI made an engineering design change that removed the ability of an MSI motherboard to be able to boot from a PCIe HDD for which I cannot find any documentation

3) the issue isn't just "each and every PCI card" (as in any kind of PCIe controller) but the fact that the X570 BIOS won't recognize any PCIe HDD as a boot option, ever. The way is shut. The way is shut. The issue is not whether there is or isn't any HDD BIOS involved; the issue is that the MB BIOS no longer supports PCIe HDD as bootable devices - so we can pretty much ignore any issue with an old HDD having its own BIOS (FWIW - I still have one or more old 5-1/4" SCSI HDD for my old Commodore Amiga, which I still have, but I wouldn't try to use them today outside of the Amiga; and I used to have an external SCSI HDD for my Commodore 64 but both of them have gone on to "greener pastures")

4) the X570 BIOS DOES see the PCIe LSI 2308 controller and even has its own page for it, where you can see controller/drive information, but you still can't boot from the 2308 HDDs; it doesn't appear to see the Startech PCIe eSATA controller at all whereas the older MSI 990XA-GD55 MB does.

The point of all of this is that MSI made a decision to drop support for PCIe HDD as a bootable device which was something that they had allowed for years in the past. As MSI tech support stated: they don't (currently) allow booting from PCIe. Period. End of transmission.


----------



## olli@ (Aug 19, 2019)

That's interesting … It doesn't make any sense. Basically, if the drives are listed, the adapter (or controller) is supported, obviously. But why would they want to prevent booting from them? It doesn't even save significant space in the BIOS ROM. It just doesn't make sense.

I just checked my new Ryzen board (ASUS): It can boot from my old PCI SCSI controller (with its own BIOS), although I don't normally use that feature. I need that controller to connect a scanner only.


----------



## SpatialDeflection (Jan 18, 2020)

Well, well, well. MSI MS-7C35  [MEG X570 ACE] version 170 BIOS (11/2019) update appears to have restored booting from PCIe drives. GOOD - THANKS.

The update comment mentions PCI "enhancements", or something like that. Too bad they couldn't be more specific. Although, it was a bit of a shock when I booted up after BIOS update and found my older PCIe "boot" HDD being used to boot from. It took me a few moments to realize the change when I saw a bunch of OS boot-up error messages (things had changed quite a bit from the old OS/MB to the newer OS/MB). At first I couldn't believe my eyes, but when I saw the OS boot version I knew that the system had booted from the HDD that the original MS-7C35 MB refused to boot from, much less see as a bootable device. WOW! Now I have to reconsider how to use my plethora of HDDs (internal and external).

BIOS update gotcha: the ENTIRE BIOS update ZIP file needs to be extracted to the USB drive. Having just the BIOS update file alone on the drive doesn't work. This, obviously, creates a new directory which apparently is what the MSI M-FLASH process is looking for. THEN you can select down to the actual BIOS file. I am so used to moving just the extracted file(s) of interest that I never considered doing the complete extract to the USB drive. Unfortunately, the MB manual does not make this clear.


----------



## CraigHB (Jan 18, 2020)

Lack of documentation for motherboard hardware is not a surprise.  That seems to be a thing with hardware makers, they unilaterally provide sketchy at best information about revisions and changes.

In any case that's a pretty huge thing to blow off in terms of support.  These days NVMe drives that plug into a PCIe port are not uncommon.  Did they forget about those?  Well, at least they fixed it.


----------



## SpatialDeflection (Jan 20, 2020)

It would be nice if ALL MB manufacturers would start including a list of "bootable device types" (not necesarily explict devices) in their MB manual so it would be easier and more reliable to determine the funcationality of a given MB. Hopefully such an inclusion would make clear that PCIe "devices" are "bootable" as well as other device types. If you want me to buy something, then the better the documentation is, the greater the possibliity is that I might buy whatever (and vice versa, of course).


----------

