Monday, April 15, 2013

Running Cyanogenmod 10 (JellyBean) on a Micromax Funbook(P300)

  • Long time requirement to run a custom ROM on the funbook
  • The funbook is rooted so no issue in upgrading stuff.
  • To upgrade the image, one can use ClockWorkMod (CWM)
    • Used version cwm_recovery_6.0.1.2_a10.zip
    • This recovery CWM also disables requirement of a signature
    • To install this on the funbook
      • Unzip the file.
      • Contents are these file install_recovery.sh, reboot-recovery.sh & recovery.img
      • Install recovery file, copies the rescue.img to the rescue partition nandg
        • Uses cat to write to the partition. dd would be better.
      • Reboot-recovery, writes a string boot-recovery to the nandf partition.
        • If one is stuck in this mode, where it refuses to get out of recovery mode because of  this tag, one can just write a sequence of zeroes on the nandf partition and clear it and the machine will reboot normally.
  • Tried various unofficial Cyanogenmod ROMS. 
    • Tried CM9 ie Icecream Sandwich ROM from Cyanogennmod site cm9_nightly_20120903.zip
    • Need to install some compatibility modules, else touchscreen etc does not work.
    • Development for CM9 did not seem very active.
    • So tried the CM10.
  • Follow steps from this site: http://www.slatedroid.com/topic/39064-building-cm10-for-a10-devices/. 

    • Download the CM10 sources from the cyanogenmod git.
    • Make changes to CM10 sources to  the point to Shaun2029's repository and save the file in the local_manifest directory.
    • Extract the prebuilts from the Funbook and store for later use.
    • run these following commands to create a ROM from CM10 directory
      • source build/envsetup.sh
        • Setup the environment including the toolchains etc
      • lunch cm_907-userdebug
        • Configure the build for the specific device.
      • mka
        • Generate the images
      • mka otapackage
        • Package them so that they can be written
      • Download the kernel as noted.
        • One has to enable the Assume Hacked memory A10 config option
        • One has to disable DEBUG_INFO else the modules will grow too big to fit into the system partition
    • The compilation of CM10  failed once and was solved by running this command
      • make update-api
    • The ROM is created in the out directory.
    • Reboot into recovery and then install the zip from the SDcard via CWM.
    • JellyBean needs a bigger system directory. Earlier install of CM9 had shrunk the default Micromax funbook /system directory from 500MB to some 265 MB.
    • One also needs to install google apps(gapps) for the official supported apps like talk, playstore ,etc. This is installed via CWM in recovery mode.
    • But because of the "almost full" nature of the system partition, even though CWM reported successful writing, there was not enough space to write the gapps. And google playstore would crash frequently.
    • Solution is to create a bigger system partition. But this Flash file partitioning is done by the image through Livesuite.
      • Idea was to get a default Momo9 image. The Funbook is a Momo9 clone from Ployer.
      • Tried various 97F1 based ROMs. But all of them had very little space for the /system.
      • This site talks about various options http://tabletrepublic.com/forum/iview-760tpc-ployer-momo9/iview-760tpc-k-ployer-momo9-firmware-rom-releases-1610.html. But Iview seems to have changed their webpage layout, so some of the links do not work.
      • Finally an IVIEW 760TPC image from here http://www.iviewus.com/newsRead.php?id=87&catId=257 gave a 760TPC.rar which when installed via CWM gave a /system of about 300MB. 
      • Flashing the Gapps, even inspite of lack of  "some" space, applications like playstore are working.