How do I install Windows 7 (with Intel RST) and Linux to dual boot on a Dell XPS 15?

I have recieved a new $work laptop, a Dell XPS 15 with a 128GB mSATA drive and a a 1TB 5400 HDD. It came with Windows 8 installed, which is not supported by my employer and must be re-installed with Windows 7. I will need to dual boot to Linux (Ubuntu 12.10) for some of my work, but mostly I just use Windows and SSH into Linux.

There are several conditions I am trying to fill:

  • Windows 7 should be installed on the 1TB drive and use Intel Smart Response Technology (SRT) with the mSATA drive as a cache
  • Linux should be installed on the spare space on the mSATA drive which should appear as a simple RAID0 volume.
  • Factory restore media for Dell's Windows 8 installation must be made.

I've asked a similar questions here but I didn't expect to need to reinstall Win7 so created this question rather than re-purpose the old one.

References

I've seen a number of similar posts:

  • This one on installing Ubuntu on a Dell XPS 14 seems relevant, but does not seem to end with SRT configured.
  • This post on Tobestool's Blog, particularly these comments from Antonio seem close, but I'm unsure if they deliver what I'm after.

Solution 1:

Install Windows

Using this answer prepared earlier.

Preparation

Download an install ISO of the Ubuntu Secure Remix for 12.10 x86_64. UEFI boot has the least issues with Ubuntu 12.10 and the secure remix has some tools that will be required.

Use UNetBootin to create a bootable USB stick for the installation.

Before you leave Windows, disable acceleration with the Intel Rapid Storage Technology. Don't worry, the cache will be safe if you leave its partition alone. Ideally, the volumes on your mSATA disk should be labelled something sensible like "SRT_Cache" and "Linux", these names will be needed later to identify them.

Install Ubuntu

Insert your installer USB, reboot and press the magic key required for your boot menu (F12 for my Dell XPS 15 L521x), choose to UEFI boot the USB drive. Choose to Try Ubuntu. There are some things that need to be done before the install will work.

Once the Ubuntu desktop has started, open a terminal and change to root and perform the commands from here to get Linux to detect the RAID volumes on the mSATA:

# modprobe dm_mod
# dmraid -ay
# ls -la /dev/mapper/

Note that one of the devices in /dev/mapper ends with the name of the spare volume of your mSATA device, this is the one to install Ubuntu to.

Run Install Ubuntu from the desktop shortcut or Unity bar shortcut. Click through and choose to "do something else" rather than wipe your existing disks (the foolish and selfish default option). This should launch the Ubuntu Installer disk partitioning tool. Choose the /dev/mapper device that's named as the Linux partition and create a partition table, create an ext4 partition to be mounted as root (/). Create a swap partition too if required, but if there is lots of memory, it's probably not required.

Continue the Ubuntu install as usual from here, when done shutdown, remove the install USB drive and power back on. It should boot to Ubuntu by default.

Update Ubuntu with:

# apt-get update
# apt-get dist-upgrade

Install Bumblebee to get the nVidia drivers with Optima working correctly, otherwise the nVidia graphics accelerator will drain all the batteries and run all the fans.

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:bumblebee/stable
sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get install bumblebee bumblebee-nvidia

Reboot back to Ubuntu.

Fix the boot loader

The Ubuntu Secure Remix includes Boot-repair, run this now, let it detect all the things including UEFI, then click the top button to allow it to do its default repair sequence.

Use your favorite editor to edit /etc/default/grub and set the default boot and timeouts (Windows should be named Windows UEFI loader) and run update-grub.

Reboot, you should now have a complete list of boot options for all the OSes installed.

Restore Intel RST

Boot to Windows, open the Intel Rapid Storage Technology application, and enable acceleration, it should remember its settings and switch back on.

Done!