Howto run Ubuntu with UEFI and Intel Smart Response Technology

I'm a little late to the party, but I thought my experience might be useful.

I have a Dell Precision M4800 which came with a 32GB mSATA SSD originally and now has a 256GB mSATA SSD. I have my full sized Samsung 830 Pro 256GB in the 2.5" bay and a 1TB disk in the optical bay via an adapter. All are SATA 6G. I originally installed Win8 and Debian on the 2.5" SATA SSD, and used the complete 32GB mSATA to cache the 1TB HDD, since it is fairly slow and I keep a lot of VMware VMs there. SRT worked in both Linux and Windows since it's a hardware/firmware operation, I verified that the 1TB disk was accelerated even while I was in Linux. The 32GB SSD just disappeared entirely when SRT was enabled. Very nicely done, Intel.

Recently I switched out the 32GB for a 256GB. It was very simple and painless. I booted Windows, disabled Smart Response, let it settle, then shut down and made the physical switch. After booting Windows again, I enabled SRT again, and let it use the maximum 64GB. I told SRT to let the other 192GB be available for use, planning to move my Debian install there, and expand the Windows partition, giving everything more room.

After SRT populated the cache and I'd rebooted once or twice, I booted my Debian install. The 1TB disk is even faster than before, it's great having a big SSD cache for my bulk data disk, as it's 5400rpm and quite sluggish otherwise. I fired up gparted to partition the leftover mSATA SSD and problems began. It seems that gparted can see the entire disk area, including the cache, so it noted some "problems" with my GPT layout and offered to fix them for me. I let it, then realized what had happened and rebooted to Windows. SRT offline! SSD cache broken! D'oh!

Booted Debian, fully zero'ed the SSD, booted Windows, set up SRT over again (thinking that the GPT 'errors' were a stale GPT from before enabling SRT). Same results, gparted thinks my SSD is mispartitioned. I'm now going to make a partition in the unused space while in Windows and see if I can just edit/replace that without breaking SRT.

All this aside, OP is single-booting, so using a more Linux-specific solution is probably a good idea. You can put your base install on the SSD with home directories and bulky data on the HDD, and that should give you a good balance of speed and simplicity.


Whats your goal in having SRT activated?

SSD caching causes trouble in dual boot environments or will just not work as expected. If you just run Linux, then install the OS on the SSD and setup /home to use the HDD. In any case disable SRT.

Note about RAID: Don't use Hardware/Fake-RAID, see Kernel.org Wiki on RAID.


It looks like there is no solution available that simply enables Intel's SSD caching solution (SRT) on Linux, which is consistent with the advice to not use Fake-RAID BIOS implementations (read the points made against Fake-RAID in the Wiki). If you want SSD caching on Linux, you should use software solutions like flashcache.

However there is support for Intel Matrix Storage Manager in mdadm (see manpages for mdadm, dmraid and md) and someone blogged about fiddling with RST.