Skippy4302

Cadet
Joined
Mar 16, 2021
Messages
9
Hi,

I've been at this problem for a few days now. A while back I ordered a PCI-e adapter to fit Apple's proprietary SSD's, as I had one of those laying around. I wanted to put this in my truenas system to use it as the boot drive.

The idea
My goal was to use an SSD, connected through a PCI-e adapter, as my boot drive for my truenas system, an old HP Pro 3135 MT (desktop). Until now I have been using a 16 GB USB flash drive, though I found it to be a bit slow, unreliable and janky. I have a few other hard drives laying around but those obviously won't make my system more responsive. That is why I thought this would be a great way to make use of an unused SSD.

The problem
The problem I am now facing is the fact that the motherboard of the PC I'm using does not allow PCI-e booting. Something to do with the BIOS maybe. The solutions I've found until now are:
  1. Modifying the BIOS. :confused: Though I have not found any articles from people who have attempted this with the HP Pro 3135.
  2. Using Clover as a bootloader. :smile: This actually worked for installing truenas on my SSD, however, I am now having trouble booting from the SSD using clover.
  3. Buying a SATA adapter for my SSD. This seems a bit wasteful so I would prefer to make it work using the PCI-e adapter I already have.
The articles I've been following focus on booting from a windows install media through Clover, this has gotten me thinking that Clover does not recognize my SSD with truenas as a drive it can boot from.

The question
Does anyone know if I can somehow edit the Clover config to make it look for a truenas media? Or maybe someone has a different solution altogether, I would love to hear it!

Components mentioned
Further system specs
  • 64-bit
  • 8 GB non-ECC memory
  • 2x 500 GB HDD
  • AMD Athlon II X2 250 (3.00 GHz)
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
My goal was to use an SSD, connected through a PCI-e adapter, as my boot drive for my truenas system, an old HP Pro 3135 MT (desktop). Until now I have been using a 16 GB USB flash drive, though I found it to be a bit slow, unreliable and janky. I have a few other hard drives laying around but those obviously won't make my system more responsive. That is why I thought this would be a great way to make use of an unused SSD.
I think the idea is flawed from the beginning... the system operates mostly from RAM when running, particularly when considering the performance of the GUI that you would notice, so it's highly unlikely that you would see any improvement at all in anything other than a clean-boot time reduction.

What you should first investigate (if you even want to go further with no hope of a noticeable speed improvement) is (some version) of your point 1. Can your machine actually boot any OS at all from that PCIe SSD? (or are you saying that clover can already start from it?)
 

Skippy4302

Cadet
Joined
Mar 16, 2021
Messages
9
I think the idea is flawed from the beginning... the system operates mostly from RAM when running, particularly when considering the performance of the GUI that you would notice, so it's highly unlikely that you would see any improvement at all in anything other than a clean-boot time reduction.

What you should first investigate (if you even want to go further with no hope of a noticeable speed improvement) is (some version) of your point 1. Can your machine actually boot any OS at all from that PCIe SSD? (or are you saying that clover can already start from it?)
I thought the system would become snappier and more reliable with an SSD, but perhaps I'm mistaken. Also I seem to remember there could be a benefit when using an SSD by enabling swap, however I'm not sure how much of a difference this will make.

I'm not looking to spend a ton of money on this system, do you think a $5 adapter could be worth it when looking at a minor performance gain, the larger energy usage of an HDD and the limited lifetime of a USB flash drive?
 

DickBlonov

Cadet
Joined
Oct 25, 2022
Messages
1
I thought the system would become snappier and more reliable with an SSD, but perhaps I'm mistaken. Also I seem to remember there could be a benefit when using an SSD by enabling swap, however I'm not sure how much of a difference this will make.

I'm not looking to spend a ton of money on this system, do you think a $5 adapter could be worth it when looking at a minor performance gain, the larger energy usage of an HDD and the limited lifetime of a USB flash drive?
Necro posting, but if this can help you, here's my Clover config.plist:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Boot</key>
  <dict>
    <key>Timeout</key>
    <integer>5</integer>
    <key>DefaultVolume</key>
    <string>755CD780-5162-11ED-9D39-20474788A94C</string>
  </dict>
  <key>GUI</key>
  <dict>
    <key>TextOnly</key>
    <true/>
    <key>Custom</key>
    <dict>
      <key>Entries</key>
      <array>
        <dict>
          <key>Path</key>
          <string>\EFI\BOOT\BOOTX64.efi</string>
          <key>Title</key>
          <string>TrueNAS</string>
          <key>Type</key>
          <string>Linux</string>
          <key>Volume</key>
          <string>755CD780-5162-11ED-9D39-20474788A94C</string>
          <key>VolumeType</key>
          <string>Internal</string>
        </dict>
      </array>
    </dict>
  </dict>
</dict>
</plist>


You can pull the Disk / Partition UUID from the Clover preboot log (you can boot clover with the default configuration and hit F2). The log is written to \EFI\CLOVER\misc\preboot.log on your USB key.

Look for an entry listing the first NMVe partition:

Volume: PcieRoot(0x0)\Pci(0x3,0x0)\Pci(0x0,0x0)\NVMe(0x1,2F-0A-A4-21-D8-38-25-00)\HD(1,GPT,755CD780-5162-11ED-9D39-20474788A94C,0x28,0x82000)

You also need a few files in \EFI\CLOVER\drivers\UEFI (you can also put these in \EFI\CLOVER\drivers\BIOS):

2022-10-24 05:55 PM 6,336 ApfsDriverLoader.efi
2022-10-24 05:55 PM 13,568 AptioInputFix.efi
2022-10-24 05:55 PM 39,232 AudioDxe.efi
2022-10-24 05:55 PM 20,480 FSInject.efi
2022-10-24 05:55 PM 23,232 Fat.efi
2022-10-24 05:55 PM 6,272 OpenRuntime.efi
2022-10-24 05:55 PM 2,816 SMCHelper.efi
2022-10-24 05:55 PM 32,640 VBoxHfs.efi
2022-10-24 05:55 PM 6,528 UsbMouseDxe.efi
2022-10-24 05:55 PM 26,432 CsmVideoDxe.efi
2022-10-24 05:55 PM 18,880 EmuVariableUefi.efi
2022-10-24 05:55 PM 25,216 NvmExpressDxe.efi
2022-10-24 05:55 PM 18,304 PartitionDxe.efi
2022-10-24 05:55 PM 14,528 UsbKbDxe.efi

You can copy the ones missing from the default from \EFI\CLOVER\drivers\off.

I used Clover V5146.

Boot drive is a Samsung NMVe with a Cheap PCIe adapter. Server is a Gen 12 Dell T320.

Did not want to bother installing a SATA drive in a spare 5.25 bay and needed to use all 8 drive bays. So NMVe was my choice.

I have the timeout set at 5, but you can set it to whatever you like (0 works fine).

Phil
 

ChrisRJ

Wizard
Joined
Oct 23, 2020
Messages
1,919
I thought the system would become snappier
Unlikely with such an old system.
and more reliable with an SSD, but perhaps I'm mistaken.
That is correct.

You kind-of "took the wrong exit" when it comes to the storage medium (USB stick or SSD) vs. the interface (USB or NVMe). In other words, a SATA SSD connected via a USB-to-SATA adapter is considered a proper boot device. Because the problem with USB sticks is not the USB connection but the poor write endurance of almost all USB sticks. There are exceptions, but those are enterprise-grade USB sticks, which are hard to come by and most likely more expensive than a small SATA SSD these days.
 
Top