Cyanogenmod: upgrade encrypted Galaxy Nexus (maguro)

I have a Samsung Galaxy Nexus with Cyanogenmod. It’s encrypted and there’s a little trick you need to do to upgrade your phone.
Actually i’m waiting for Cyanogenmod 11 stable release and i’m following the snapshot branch.
I’m doing this with linux. First of all you need to install Android tools (you need an executable, adb) and the .zip of the firmware update.
Connect your phone to the computer with the usb cable.
Then:
Do a full backup.
Reboot your phone into recovery mode, you have two ways to do that:


(not tested by me)
- Hold down the up and the down volume key and press the power button.
- You have a screen that shows the android with an open hatch and the word Start above it.
- Use the up and down keys to navigate to the “Recovery Mode” menu
- Press the Power Button to reboot into Recovery (CWR)

Or activate the developer options on your phone:

- In the Settings app, choose the About Phone (or About Tablet) option.
- Scroll down, and tap the Build number seven times. On the seventh tap, you will be notified that "You are now a developer."
- Return back to the main Settings menu. The Developer options and Performance settings should now be visible.
- Select on the Developer Options page the USB Debugging and the Advanced Reboot mode.
- Press the power button and select Reboot, then press Recovery, OK.

Now you’re into recovery mode.
Open a terminal and exec adb devices

root@monster:/opt/adt-bundle-linux-x86_64-20131030/sdk/platform-tools# ./adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
0149BD310500D018 recovery

root@monster:/opt/adt-bundle-linux-x86_64-20131030/sdk/platform-tools#

Here’s our phone.
Now let’s open a shell on the device with adb shell and perform the following commands.

mount -t tmpfs none /data
mkdir media
exit

Now push the firmware in the device with:

./adb push /tmp/cm-***.zip /data/media/update.zip

On your phone with the volume buttons navigate to “install zip“, choose “zip from /sdcard”, choose update.zip and confirm the installation.
Wipe cache before reboot.
When it’s done select “go back” and then “reboot system now“.
You’re done.