These notes are based on the instructions at http://wiki.cyanogenmod.org/w/Install_CM_for_serranoltexx

To allow a new version of Android to be installed, the handset first needs a new "recovery" to be installed. The "recovery" is the low-level utility that just has a few functions, such as update, backup and restore.

To get the recovery onto the handset, you need a utility on your laptop - I used Heimdall, which runs on Ubuntu.

So, here are the steps:

Install the Heimdall utility on your laptop

The packages can be found at https://bitbucket.org/benjamin_dobell/heimdall/downloads. Pick the one for your OS (you don't need the front-end versions):

wget https://bitbucket.org/benjamin_dobell/heimdall/downloads/ubuntu13.04-heimdall_1.4.0-0_amd64.deb
sudo dpkg -i https://bitbucket.org/benjamin_dobell/heimdall/downloads/ubuntu13.04-heimdall_1.4.0-0_amd64.deb

Check that it's installed, with "heimdall version" - should show "v1.4.0"

Fetch the recovery image

This is the recovery that you'll install on the handset.

I used the ClockworkMod recovery version which I found on a thread on XDA Developers (http://forum.xda-developers.com/showthread.php?t=2364980). It's zipped and tarred, so you need to unpack it:

wget "http://forum.xda-developers.com/attachment.php?attachmentid=2528120&d=1390236639" -O recovery-clockwork-
unzip recovery-clockwork-
mv recovery-clockwork- recovery-clockwork-
tar xvf recovery-clockwork-

You should now have file called "recovery.img" in your current directory

Install the recovery on the handset

Put the handset into recovery mode (switch it on while holding Vol Down & Home & Power), then plug it into the laptop via USB. Then install the recovery:

sudo heimdall flash --RECOVERY recovery.img --no-reboot

The handset should show a blue progress bar - you can unplug the USB, and reboot while holding Vol Up & Home & Power (to make sure the new recovery isn't overwritten)

Get the new Android image

From the CyanogenMod site

wget https://download.cyanogenmod.org/get/jenkins/71670/cm-11-20140609-SNAPSHOT-M7-serranoltexx.zip

Also, you need the packaged Google apps, to get the basics like Google Play (which aren't packaged with the Android version) - I got the zip file from the http://itvends.com/gapps/ site

wget http://itvends.com/gapps/gapps-kk-20140606-signed.zip

(Other download options available at http://wiki.cyanogenmod.org/w/Google_Apps)

Copy zip files onto handset

The zip files with the CyanogenMod Android version and the Google Apps need to be copied onto the handset so that the recovery can install them.

Plug the handset into the laptop with the USB, and use file manager to put the zip files in the Downloads directory.

Reboot handset into recovery

Switch phone off, then on again, holding Vol Down & Home & Power.
Choose "install from zip", "choose zip from sdcard", and navigate to 0/Downloads - should see your zip files there.
Select the cm-11-20140609-SNAPSHOT-M7-serranoltexx.zip file and install it.
Select the gapps-kk-20140606-signed.zip file and install it.
Select the reboot option.

You should see the CyanogenMod logo as the phone boots, and you're done.