Monday, October 22, 2012

Build CM10 from source for Galaxy S2 (i9100)

1. Basic env setup is needed before head to CM site, please follow the instructions HERE to setup the build env.

2. Downloading source from github.

$ mkdir /opt/android/cm
$ cd /opt/android/cm
$ repo init -u git://github.com/CyanogenMod/android.git -b jellybean
$ repo sync -j4

3. Copy proprietary files from your device, assume you have android-sdk installed, if you don't please proceed to android.com for details.



create ~/android/system/.repo/local_manifest.xml using this content:

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <project name="teamhacksung/buildscripts" path="buildscripts" remote="github" revision="jellybean">
    <copyfile dest="build.sh" src="build.sh" />
  </project>
</manifest>


$ repo sync -j4
$ . build/envsetup.sh


$ lunch

You're building on Linux


Lunch menu... pick a combo:
     1. full-eng
     2. full_x86-eng
     3. vbox_x86-eng
     4. mini_armv7a_neon-userdebug
     5. mini_armv7a-userdebug
     6. full_panda-userdebug
     7. cm_a700-userdebug
     8. cm_captivatemtd-userdebug
     9. cm_crespo-userdebug
     10. cm_crespo4g-userdebug
     11. cm_d2att-userdebug
     12. cm_d2spr-userdebug
     13. cm_d2tmo-userdebug
     14. cm_d2usc-userdebug
     15. cm_d2vzw-userdebug
     16. cm_endeavoru-userdebug
     17. cm_epicmtd-userdebug
     18. cm_everest-userdebug
     19. cm_evita-userdebug
     20. cm_fascinatemtd-userdebug
     21. cm_galaxysmtd-userdebug
     22. cm_galaxysbmtd-userdebug
     23. cm_grouper-userdebug
     24. cm_hercules-userdebug
     25. cm_i777-userdebug
     26. cm_i9100-userdebug
     27. cm_i9100g-userdebug
     28. cm_i9300-userdebug
     29. cm_jewel-userdebug
     30. cm_mint-userdebug
     31. cm_maguro-userdebug
     32. cm_mesmerizemtd-userdebug
     33. cm_n7000-userdebug
     34. cm_n8000-userdebug
     35. cm_n8013-userdebug
     36. cm_quincyatt-userdebug
     37. cm_quincytmo-userdebug
     38. cm_p1-userdebug
     39. cm_p1c-userdebug
     40. cm_p1l-userdebug
     41. cm_p1n-userdebug
     42. cm_p3100-userdebug
     43. cm_p3110-userdebug
     44. cm_p3113-userdebug
     45. cm_p5100-userdebug
     46. cm_p5110-userdebug
     47. cm_p5113-userdebug
     48. cm_p930-userdebug
     49. cm_p970-userdebug
     50. cm_skyrocket-userdebug
     51. cm_stingray-userdebug
     52. cm_su640-userdebug
     53. cm_tf101-userdebug
     54. cm_tf201-userdebug
     55. cm_tf300t-userdebug
     56. cm_toro-userdebug
     57. cm_toroplus-userdebug
     58. cm_t769-userdebug
     59. cm_vibrantmtd-userdebug
     60. cm_ville-userdebug
     61. cm_wingray-userdebug

Which would you like? [full-eng] 26


I pick (26cd vemd), i9100...., wait until the repo synced.



$ cd device/samsung/i9100/
$ ./proprietary-files.sh



3. Build.
$ cd ../../..
$ . /build.sh i9100
$ cd out/target/product/i9100/
$ adb push cm-10-20121021-UNOFFICIAL-i9100.zip /sdcard/
$ adb reboot recovery

Flash the update with CWM-Recovery.

END.