Skip to main content

How to install CyanogenMod on Galaxy Nexus on Ubuntu



If you are disappointed that Galaxy Nexus is not going to get KitKat 4.4 you may think that CyanogenMod may be for you.

First: it's not perfect!
You will need to install Google Apps separately and from the start there is nothing like Gmail or Google Account in settings (it' solvable but remember about it).

My tutorial is post-mortem of following this one: http://wiki.cyanogenmod.org/w/Install_CM_for_maguro

Install Fastboot & ADB

as stated here: http://wiki.cyanogenmod.org/w/Doc:_fastboot_intro

sudo apt-get install android-tools-fastboot android-tools-adb

I have done it long ago and have it installed already so I'm not sure what was needed. If you have problems maybe something from http://ferrancasanovas.wordpress.com/2014/01/30/adb-install-android-system/ can help:

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install android-tools-adb android-tools-fastboot

Download


If you have adb and fastboot then it's time to download images.

If you have Galaxy Nexus then you want to download maguro zip file from http://download.cyanogenmod.org/?device=maguro&type=stable

"Recovery" from http://clockworkmod.com/rommanager as of time of writing newest is: http://download2.clockworkmod.com/recoveries/recovery-clockwork-6.0.4.7-maguro.img


Enable USB Debugging

First enable Developer options clicking on 'Build version' many times. Read this for more info: http://www.technipages.com/android-developer-options-is-missing
Then go to new menu in options and enable USB Debugging: http://www.technipages.com/galaxy-nexus-enable-usb-debugging

Connect your phone by USB

There should be popup at your phone asking for permission to debug, chose : Yes :)


Deploy ROM image

adb devices

#to make sure it's connected

adb push YOURROMZIP.zip /sdcard/

#or more precisely:

adb push cm-10.2.1-maguro.zip /sdcard/


Unlock bootloader

adb devices 

# Should return your device

adb reboot bootloader

#will reboot your phone to bootloader, when you see it then it's time to flash recovery

fastboot devices

#To make sure your device is discovered by fastboot

fastboot oem unlock

#Rember you are doing it on your own risk ;)

It should reboot or reboot it yourself and after that go to bootloader again. Two options here:

  •  after seeing google logo (when phone is starting hold: UP and DOWN Volume buttons and POWER button at the same time) or:
  • adb reboot bootloader

Install Recovery

fastboot devices

#just to check it

cd Download

#or whenever you have downloaded files


fastboot flash recovery your_recovery_image.img

#or more precisely:

fastboot flash recovery recovery-clockwork-6.0.4.7-maguro.img


Choose Recovery

Now use your volume buttons to change selected item from the Menu and pick "Recovery mode" and select it with Power button.

Right now ClockworkMod recovery should start!

Now with the same buttons navigate in recovery and select:

  1. backup and restore
  2. wipe data/factory reset
  3. install zip from sdcard
  4. choose zip from sdcard (you should find it in folder named "0", not in the root of sdcard!)
  5. reboot system now

Cyanogen Mod should be installed!


Login and play with it a bit ;)

Install Updates from CyanogenMod (they are in UI)


Installing Google Apps


First you need to enable Developer options and just after that it's great to instead of playing with volume and power buttons to enable rebooting to bootloader and recovery from your android CyanogenMod menu! Nice tutorial is here: http://code.rawlinson.us/2013/05/enable-advanced-reboot-options-on.html It's easy to find it in Developer options :)

Download GAPPS

Now you don't even need your PC to install them from ZIP image :) 

  1. Open in Android browser to: http://wiki.cyanogenmod.org/w/Google_Apps and download ZIP file for your version of CyanogenMod. After installing updates it should be 11.
  2. Reboot your phone to recovery mode.
  3. install zip from sdcard
  4. choose gapps.zip file (Download folder should be there somewhere :)
  5. Also go to Advanced and clear your cache and dalvik cache afterward.
  6. reboot system now

All should work.

I know it's not perfect tutorial but it's more like a brain-dump of my yesterday evening to not forget it all ;)

Help


I found helpful viewing those things instead of only reading about it so in case it can help you too:

Enabling Developer Options



Not working for me but may help your understand recovery and boot.






If you want to go back find original image that your nexus phone had you can find it here: https://developers.google.com/android/nexus/images

I haven't tried going back to default android yet but I think it should work the same way as installing CyanogenMod image.





Comments

Popular posts from this blog

How to simulate slow connection (developer proxy in Node.js)

Update: If you use Chrome then you can use "Throttling" so simulate slow network for all your assets. This should be easier than proxy.


Toggle device modeChoose Network type.Refresh the page




https://developer.chrome.com/devtools/docs/device-mode 



Proxy:



For some time I wanted to use some proxy for development and testing of eg. slow internet connection, but it was hard to find something useful and free. I know there is Charles but buy it to use it at most one in a month is not for me.

I started thinking about Node.js, maybe I can write proxy for me? But fortunately I found one.

https://github.com/nodejitsu/node-http-proxy

With this module I can write really short code to create slow server:


var http = require('http'), httpProxy = require('http-proxy'); httpProxy.createServer(function (req, res, proxy) { var buffer = httpProxy.buffer(req); setTimeout(function () { proxy.proxyRequest(req, res, { host: 'localhost', port: 8080, …

How to use NPM packages from private repositories on bitbucket

Using Node.js you want to use NPM packages for reusable parts of the apps you create, that is a common sense. At the same time not everything makes sense as a public module unfortunately. Right now we are using Bitbucket at work for private repositories but there is a problem. How to use them as NPM modules? We do not want to publish them to the public npmjs.org but still want to have an ability to install them easily.

After googling and experimenting I have found simple solution.
First create new user in your organization with obscure password and give it read access to the repo. It is best to assign really obscure password but do not fool yourself. This is convenient but you must sacrifice security a bit. You should always consider how in your context that would be important.

Change example from below to:
user - username
PASS - password of the user
organization - owner of the project (you can find it in bitbucket url to your project)
project - your project name

"dependencies&…