• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[GUIDE] Build CWM recovery

Search This thread

buffo1987

Senior Member
Jun 30, 2012
219
423
1cwm.jpg
How to build CWM Recovery

You may also use http://builder.clockworkmod.com/, there you can build touch and non-touch version. Always latest version.
Files needed for this you can find within device files: AriesVE Dev Connection Team github


File location:
/recovery.fstab
/recovery/graphics.c
/recovery/postrecoveryboot.sh
+ any recovery.img, which works on your device​


Manually build CWM (non-touch)
(Base is arco cm9, other possible sources and their included CWM Version second post)
  1. Install android sdk http://developer.android.com/sdk/index.html
  2. Install Java
    http://wiki.ubuntuusers.de/Java/Installation/Oracle_Java
  3. Install needed libs (Ubuntu 13.04)
    Code:
    sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 lib32z-dev libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc readline-common libreadline6-dev libreadline6 lib32readline-gplv2-dev libncurses5-dev lib32readline5 lib32readline6 libreadline-dev libreadline6-dev:i386 libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool libwxgtk2.8-dev python
  4. Create Directories
    Code:
    $ mkdir -p ~/bin && mkdir -p ~/android/system
  5. Install repo
    Code:
    $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
    $ chmod a+x ~/bin/repo
  6. Add "~/bin" to PATH of execution
    Code:
    $ gedit ~/.bashrc
    add:
    Code:
    #Android
    export PATH=${PATH}:~/android-sdk/tools
    export PATH=${PATH}:~/android-sdk/platform-tools
    export PATH=${PATH}:~/bin
  7. Initialize Repo & sync
    Code:
    $ cd ~/android/system/
    $ repo init -u git://github.com/CyanogenMod/android.git -b cm-10.1
    $ repo sync
  8. Add device files //possible sources on second post
    Code:
    $ cd ~/android/system/device && mkdir samsung && cd samsung
    $ git clone git://github.com/AriesVE-DevCon-TEAM/android_device_samsung_ariesve -b cm-10.1
  9. Add vendor files ////possible sources on second post
    Code:
    $ cd ~/android/system/vendor && mkdir samsung && cd samsung
    $ git clone git://github.com/ivendor/android_vendor_samsung_ariesve.git -b jellybean ariesve
  10. Prepare device specific code
    Code:
    $ cd ~/android/system/
    $ . build/envsetup.sh
    $ lunch //choose -> cm_ariesve-userdebug
  11. Compile recovery
    Code:
    make clobber && make -j[COLOR="Red"]#[/COLOR] recoveryimage  //[COLOR="Red"]#[/COLOR] CPU-Cores+1

Credits
DevConnection_Team
arco68
ivendor
cyanogenmod
 
Last edited:

buffo1987

Senior Member
Jun 30, 2012
219
423
Versions of CWM
https://github.com/CyanogenMod/android_bootable_recovery -> choose branch -> Android.mk -> Version
cm-9.0 -> 5.5.0.4
ics -> 6.0.1.2
jellybean -> 6.0.2.8
cm 10.1 -> 6.0.3.4

Sources for building CWM

CM9
Arco:
Device files
git clone git://github.com/arco/android_device_samsung_ariesve -b ics-2.6 ariesve
git clone git://github.com/arco/android_device_samsung_ariesve -b ics-3.0 ariesve
Vendor files
git clone git://github.com/arco/android_vendor_samsung_ariesve.git -b ics ariesve

Ivendor:
Device files
git clone git://github.com/ivendor/android_device_samsung_ariesve.git -b ics-2.6 ariesve
git clone git://github.com/ivendor/android_device_samsung_ariesve.git -b ics-3.0 ariesve
Vendor files
git clone git://github.com/ivendor/android_vendor_samsung_ariesve.git -b ics ariesve​
CM10
Ivendor:
Device files
git clone git://github.com/ivendor/android_device_samsung_ariesve.git -b jb-2.6 ariesve
git clone git://github.com/ivendor/android_device_samsung_ariesve.git -b jb-3.0 ariesve
Vendor files
git clone git://github.com/ivendor/android_vendor_samsung_ariesve.git -b jellybean ariesve​
CM10.1
blackmamba97:
Device files
git clone git://github.com/blackmamba97/android_device_samsung_ariesve.git -b cm-10.1 ariesve

davidteri91:
Device files
git clone git://github.com/Davidteri/android_device_samsung_ariesve.git -b cm-10.1 ariesve
Vendor files
git clone git://github.com/Davidteri/android_vendor_samsung_ariesve.git -b jellybean ariesve

Xistance:
Device files
git clone git://github.com/xistance21/android_device_samsung_ariesve.git -b jb-3.0 ariesve
Vendor files
git clone git://github.com/xistance21/android_vendor_samsung_ariesve.git -b jellybean ariesve

Doomsday94:
Device files
git clone git://github.com/doomsday94/CyanogenMod-10.1-ariesve.git -b master ariesve​
 
Last edited:

anuseb89

Senior Member
Nov 5, 2012
632
406
Bangalore
Good work man...now you are our dedicated person for recovery it seems.....

Sent from my GT-I9001 using xda app-developers app
 

buffo1987

Senior Member
Jun 30, 2012
219
423
Good work man...now you are our dedicated person for recovery it seems.....

Sent from my GT-I9001 using xda app-developers app

I'll do my best :p.
In fact i hope that we can get more stability if more people know how to compile. Especially twrp has some interesting flags e.g. TARGET_PREBUILT_RECOVERY_KERNEL := path/to/kernel -- use to specify a kernel specifically for building recovery.
 

XeLLaR*

Senior Member
Jun 25, 2012
2,942
4,669
DevConnection
I would like to say that you can use CWM 5.5.0.4 for Gingerbread, ICS & Jellybean without any problems. Its more reliable than any other CWM or TWRP we have. :good:

Only the usage of the volume rockers for going up and down in the menü is a little bit annoying and not that good for the device.
 
  • Like
Reactions: btiu and buffo1987

miki2o

Senior Member
Nov 19, 2012
702
950
R: [GUIDE] Build CWM recovery

Is there a way to manually build a touch version?

Inviato dal mio GT-I8150 con Tapatalk 2
 

buffo1987

Senior Member
Jun 30, 2012
219
423
AW: [GUIDE] Build CWM recovery

recovery.img is the one to choose. Inputrecovery.img is the one u uploaded.
 
  • Like
Reactions: daniel3x

Top Liked Posts

  • There are no posts matching your filters.
  • 32
    1cwm.jpg
    How to build CWM Recovery

    You may also use http://builder.clockworkmod.com/, there you can build touch and non-touch version. Always latest version.
    Files needed for this you can find within device files: AriesVE Dev Connection Team github


    File location:
    /recovery.fstab
    /recovery/graphics.c
    /recovery/postrecoveryboot.sh
    + any recovery.img, which works on your device​


    Manually build CWM (non-touch)
    (Base is arco cm9, other possible sources and their included CWM Version second post)
    1. Install android sdk http://developer.android.com/sdk/index.html
    2. Install Java
      http://wiki.ubuntuusers.de/Java/Installation/Oracle_Java
    3. Install needed libs (Ubuntu 13.04)
      Code:
      sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 lib32z-dev libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc readline-common libreadline6-dev libreadline6 lib32readline-gplv2-dev libncurses5-dev lib32readline5 lib32readline6 libreadline-dev libreadline6-dev:i386 libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool libwxgtk2.8-dev python
    4. Create Directories
      Code:
      $ mkdir -p ~/bin && mkdir -p ~/android/system
    5. Install repo
      Code:
      $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
      $ chmod a+x ~/bin/repo
    6. Add "~/bin" to PATH of execution
      Code:
      $ gedit ~/.bashrc
      add:
      Code:
      #Android
      export PATH=${PATH}:~/android-sdk/tools
      export PATH=${PATH}:~/android-sdk/platform-tools
      export PATH=${PATH}:~/bin
    7. Initialize Repo & sync
      Code:
      $ cd ~/android/system/
      $ repo init -u git://github.com/CyanogenMod/android.git -b cm-10.1
      $ repo sync
    8. Add device files //possible sources on second post
      Code:
      $ cd ~/android/system/device && mkdir samsung && cd samsung
      $ git clone git://github.com/AriesVE-DevCon-TEAM/android_device_samsung_ariesve -b cm-10.1
    9. Add vendor files ////possible sources on second post
      Code:
      $ cd ~/android/system/vendor && mkdir samsung && cd samsung
      $ git clone git://github.com/ivendor/android_vendor_samsung_ariesve.git -b jellybean ariesve
    10. Prepare device specific code
      Code:
      $ cd ~/android/system/
      $ . build/envsetup.sh
      $ lunch //choose -> cm_ariesve-userdebug
    11. Compile recovery
      Code:
      make clobber && make -j[COLOR="Red"]#[/COLOR] recoveryimage  //[COLOR="Red"]#[/COLOR] CPU-Cores+1

    Credits
    DevConnection_Team
    arco68
    ivendor
    cyanogenmod
    6
    Versions of CWM
    https://github.com/CyanogenMod/android_bootable_recovery -> choose branch -> Android.mk -> Version
    cm-9.0 -> 5.5.0.4
    ics -> 6.0.1.2
    jellybean -> 6.0.2.8
    cm 10.1 -> 6.0.3.4

    Sources for building CWM

    CM9
    Arco:
    Device files
    git clone git://github.com/arco/android_device_samsung_ariesve -b ics-2.6 ariesve
    git clone git://github.com/arco/android_device_samsung_ariesve -b ics-3.0 ariesve
    Vendor files
    git clone git://github.com/arco/android_vendor_samsung_ariesve.git -b ics ariesve

    Ivendor:
    Device files
    git clone git://github.com/ivendor/android_device_samsung_ariesve.git -b ics-2.6 ariesve
    git clone git://github.com/ivendor/android_device_samsung_ariesve.git -b ics-3.0 ariesve
    Vendor files
    git clone git://github.com/ivendor/android_vendor_samsung_ariesve.git -b ics ariesve​
    CM10
    Ivendor:
    Device files
    git clone git://github.com/ivendor/android_device_samsung_ariesve.git -b jb-2.6 ariesve
    git clone git://github.com/ivendor/android_device_samsung_ariesve.git -b jb-3.0 ariesve
    Vendor files
    git clone git://github.com/ivendor/android_vendor_samsung_ariesve.git -b jellybean ariesve​
    CM10.1
    blackmamba97:
    Device files
    git clone git://github.com/blackmamba97/android_device_samsung_ariesve.git -b cm-10.1 ariesve

    davidteri91:
    Device files
    git clone git://github.com/Davidteri/android_device_samsung_ariesve.git -b cm-10.1 ariesve
    Vendor files
    git clone git://github.com/Davidteri/android_vendor_samsung_ariesve.git -b jellybean ariesve

    Xistance:
    Device files
    git clone git://github.com/xistance21/android_device_samsung_ariesve.git -b jb-3.0 ariesve
    Vendor files
    git clone git://github.com/xistance21/android_vendor_samsung_ariesve.git -b jellybean ariesve

    Doomsday94:
    Device files
    git clone git://github.com/doomsday94/CyanogenMod-10.1-ariesve.git -b master ariesve​
    3
    Has anyone explain for me this command ( make clobber && make -j# recoveryimage //# CPU-Cores+1 ). Thanks so much.

    make clobber && make -j# recoveryimage //# CPU-Cores+1
    make clobber - clean build directory
    make -j# recoveryimage - make cwm img where "#" is the number of jobs, usually 4
    //# CPU-Cores+1 argument - tells "make" command to use "#"+1 cpu cores.
    You can make cmw only with:
    Code:
    make clobber && make -j4 recoveryimage
    2
    fs.tab
    graphic.c
    recovery.img

    how to find this file in android or by pc, adb etc
    please I want too know that

    you may find fstab and graphics.c and postboot in official repository of cyanogenmod for your device . or if you do'nt have CM for you device :

    fstab -> use adb in recovery and dump it from /etc/
    postboot -> use adb in recovery and dump it from /sbin/
    graphics.c : this has been compiled so you have to rewrite it or use the one from a device with exactly same framebuffer format .