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

[HowTo] Compile your own Cyanogenmod 7

Search This thread

mblaster

Inactive Recognized Developer
Aug 2, 2007
433
95
It has been asked a few times in the CM7 thread how to compile Cyanogenmod7 for our folio. Here is an more or less easy way. The only prerequisite is a working ubuntu system (tried on 11.04-x64).

1. SETUP

Step 1
Make sure you have the "Canonical Partner" repository enabled (somwhere in system>manage system>synaptic >> settings>repositories>other software)

Step 2
Download the attached zip file. Extract the files to ~/Cyanogenmod

Step 3
Open a terminal and type "cd Cyanogenmod". Then type "chmod +x *". Don't close the terminal yet.

Step 4
Run the first setup script as root by typing "sudo ./Setup1.sh". In this step all the packages required to compile CM are installed. You will have to accept the licence of the java package in the process.

Step 5
Run the second setup script as a regular user by typing "./Setup2.sh". Here the Cyanogenmod repositories are set up. You will need to enter a name and an email address. This is only used to identify your patches if you want to submit something. Additionally some required files will be downloaded from my dropbox.

Step 6
Run the third setup script as root by typing "sudo ./Setup3.sh". Here some files from an image file are extracted. The root is needed to mount the loop device. After this step you should be ready to make you first bacon...

2. MAKING THE BACON

Pretty easy now.

1) Run "./MakeCM.sh" and chose the first option -> Updates from the repository are pulled and the proprietary files from my older build (has been downloaded in setup step 5) are copied to where they belong.
2) Run "./MakeCM.sh" and chose 2 -> The build process starts. This will take about 30 min on a quadcore (number of usable cores is autodetected).
3) Run "./MakeCM.sh" and chose 3 -> Everything will be packed into a flashable zip file in ~/Cyanogenmod/.

The zip will contain a stable version of my ClockworkMod(Mod) and the Google apps.

If you want to make a new build run "./MakeCM.sh" and chose 4 to clean up. Then start at 1) again.

Enjoy your bacon hot and crispy.

mblaster

€: Replaced attachement due to a small error I just encountered. Gapps were not correctly included...
 

Attachments

  • CyanogenmodBuildscripts.zip
    3.7 KB · Views: 534
Last edited:

xitrumch

Senior Member
May 10, 2008
115
16
Hi mblaster, thanks a lot for the informative tutorial. However, I've encountered a problem at the last few steps where you instructed the MakeCM.sh to do perform this: "lunch cyanogen_betelgeuse-eng"

The process prompted that there's no product spec for 'cyanogen_betelgeuse', so the make for build/core/product_config.mk got error at line 203: No matches for product "cyanogen_betelgeuse".

Anyway, here is the full log:

MakeCM - a CM7 build script by mblaster

1) Sync Repositories
2) Make Bacon
3) Pack
4) Make Clean

Select Option: 2


Making Bacon
including device/advent/vega/vendorsetup.sh
including device/bn/encore/vendorsetup.sh
including device/geeksphone/one/vendorsetup.sh
including device/htc/ace/vendorsetup.sh
including device/htc/bravoc/vendorsetup.sh
including device/htc/bravo/vendorsetup.sh
including device/htc/buzz/vendorsetup.sh
including device/htc/click/vendorsetup.sh
including device/htc/desirec/vendorsetup.sh
including device/htc/dream_sapphire/vendorsetup.sh
including device/htc/espresso/vendorsetup.sh
including device/htc/glacier/vendorsetup.sh
including device/htc/heroc/vendorsetup.sh
including device/htc/hero/vendorsetup.sh
including device/htc/inc/vendorsetup.sh
including device/htc/legend/vendorsetup.sh
including device/htc/leo/vendorsetup.sh
including device/htc/liberty/vendorsetup.sh
including device/htc/mecha/vendorsetup.sh
including device/htc/passion/vendorsetup.sh
including device/htc/speedy/vendorsetup.sh
including device/htc/supersonic/vendorsetup.sh
including device/htc/vision/vendorsetup.sh
including device/htc/vivo/vendorsetup.sh
including device/htc/vivow/vendorsetup.sh
including device/huawei/u8220/vendorsetup.sh
including device/lge/p999/vendorsetup.sh
including device/lge/thunderg/vendorsetup.sh
including device/malata/smb_a1002/vendorsetup.sh
including device/malata/smb_b9701/vendorsetup.sh
including device/motorola/droid2/vendorsetup.sh
including device/motorola/jordan/vendorsetup.sh
including device/motorola/morrison/vendorsetup.sh
including device/motorola/shadow/vendorsetup.sh
including device/motorola/sholes/vendorsetup.sh
including device/motorola/zeppelin/vendorsetup.sh
including device/samsung/captivatemtd/vendorsetup.sh
including device/samsung/crespo4g/vendorsetup.sh
including device/samsung/crespo/vendorsetup.sh
including device/samsung/fascinatemtd/vendorsetup.sh
including device/samsung/galaxys2/vendorsetup.sh
including device/samsung/galaxysmtd/vendorsetup.sh
including device/samsung/mesmerizemtd/vendorsetup.sh
including device/samsung/showcasemtd/vendorsetup.sh
including device/samsung/sidekick4g/vendorsetup.sh
including device/samsung/vibrantmtd/vendorsetup.sh
including device/semc/anzu/vendorsetup.sh
including device/semc/hallon/vendorsetup.sh
including device/semc/zeus/vendorsetup.sh
including device/zte/blade/vendorsetup.sh
including vendor/cyanogen/vendorsetup.sh
build/core/product_config.mk:203: *** No matches for product "cyanogen_betelgeuse". Stop.

** Don't have a product spec for: 'cyanogen_betelgeuse'
** Do you have the right repo manifest?

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.3.5
TARGET_PRODUCT=full
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=GINGERBREAD
============================================
Checking build tools versions...
find: `out/target/common/docs/gen': No such file or directory
find: `out/target/common/docs/gen': No such file or directory
find: `out/target/common/docs/gen': No such file or directory
find: `out/target/common/docs/gen': No such file or directory
find: `out/target/common/docs/gen': No such file or directory
make: *** No rule to make target `bacon'. Stop.
 

mblaster

Inactive Recognized Developer
Aug 2, 2007
433
95
Hi mblaster, thanks a lot for the informative tutorial. However, I've encountered a problem at the last few steps where you instructed the MakeCM.sh to do perform this: "lunch cyanogen_betelgeuse-eng"

The process prompted that there's no product spec for 'cyanogen_betelgeuse', so the make for build/core/product_config.mk got error at line 203: No matches for product "cyanogen_betelgeuse".

Anyway, here is the full log:
...

Can you tell me the result of:

Code:
cat ~/Cyanogenmod/system/.repo/local_manifest.xml

Maybe the file does not download or copy correctly in Setup2.sh
 

leolias

Member
Apr 28, 2011
34
2
Sevilla
Thanks.
I am using your releases of CM mod for a long time, the best for me, smooth and fast, works like a charm.
Now i want to compile one but I have some questions about it.
Is your OC kernel inside this compile?
I compiled this (folowing your instructions) and I get some warnings during the compile, is normal?
Is safe to install and test the compiled zip? Can i brick my tablet?
 

mblaster

Inactive Recognized Developer
Aug 2, 2007
433
95
Thanks.
I am using your releases of CM mod for a long time, the best for me, smooth and fast, works like a charm.
Now i want to compile one but I have some questions about it.
Is your OC kernel inside this compile?
I compiled this (folowing your instructions) and I get some warnings during the compile, is normal?
Is safe to install and test the compiled zip? Can i brick my tablet?

OC Kernel is included, warnings are normal too (as long as no errors occur). I would recommend to make a nandroid backup from the clockwormod recovery before flashing. Afaik it is impossible to really brick your device by flashing an update.zip. Worst thing to happen would be that you have to use fastboot to reflash to a working state, but that never happened to me.
 

mblaster

Inactive Recognized Developer
Aug 2, 2007
433
95
What would I need to do to make this compatible with other tablets? Like the Toshiba Thrive? Is it possible?

Sent from my Toshiba Thrive using Tapatalk.

You would have to modify the device vendor (eg here) and add the lunch combo. The vendor should at least contain the correct kernel, the partition table, build.prop information and handle the proprietary files correctly. Plus some other things.
 

apollopayne

Senior Member
Nov 3, 2010
293
60
shrewsbury
Hi mblaster, thanks a lot for the informative tutorial. However, I've encountered a problem at the last few steps where you instructed the MakeCM.sh to do perform this: "lunch cyanogen_betelgeuse-eng"

The process prompted that there's no product spec for 'cyanogen_betelgeuse', so the make for build/core/product_config.mk got error at line 203: No matches for product "cyanogen_betelgeuse".

Anyway, here is the full log:
Hi and thank you for your hard work! i seem to have the same problem with

No matches for product "cyanogen_betelgeuse".? I have run this about 10 times and same result tried on pc and me laptop and in virtual box with same results? Please could you help me? I don't know alot about linux but wanting to learn.
 

mblaster

Inactive Recognized Developer
Aug 2, 2007
433
95
Hi mblaster, thanks a lot for the informative tutorial. However, I've encountered a problem at the last few steps where you instructed the MakeCM.sh to do perform this: "lunch cyanogen_betelgeuse-eng"

The process prompted that there's no product spec for 'cyanogen_betelgeuse', so the make for build/core/product_config.mk got error at line 203: No matches for product "cyanogen_betelgeuse".

Anyway, here is the full log:
Hi and thank you for your hard work! i seem to have the same problem with

No matches for product "cyanogen_betelgeuse".? I have run this about 10 times and same result tried on pc and me laptop and in virtual box with same results? Please could you help me? I don't know alot about linux but wanting to learn.

Unfortunately this tutorial is not up to date. I have to check at some time what changes have to be made. It might work if you replace the betelgeuse with folio100 as the device name has been changed a while ago.

Sent from my HUAWEI MediaPad using xda premium
 

sader0

Senior Member
Sep 3, 2010
148
6
Hello Mblaster & all,

Pls can you share the information on how to build the final release 7.2.
Also in case you can upload latest build - this will be nice :)

Thanks
 

Top Liked Posts

  • There are no posts matching your filters.
  • 6
    It has been asked a few times in the CM7 thread how to compile Cyanogenmod7 for our folio. Here is an more or less easy way. The only prerequisite is a working ubuntu system (tried on 11.04-x64).

    1. SETUP

    Step 1
    Make sure you have the "Canonical Partner" repository enabled (somwhere in system>manage system>synaptic >> settings>repositories>other software)

    Step 2
    Download the attached zip file. Extract the files to ~/Cyanogenmod

    Step 3
    Open a terminal and type "cd Cyanogenmod". Then type "chmod +x *". Don't close the terminal yet.

    Step 4
    Run the first setup script as root by typing "sudo ./Setup1.sh". In this step all the packages required to compile CM are installed. You will have to accept the licence of the java package in the process.

    Step 5
    Run the second setup script as a regular user by typing "./Setup2.sh". Here the Cyanogenmod repositories are set up. You will need to enter a name and an email address. This is only used to identify your patches if you want to submit something. Additionally some required files will be downloaded from my dropbox.

    Step 6
    Run the third setup script as root by typing "sudo ./Setup3.sh". Here some files from an image file are extracted. The root is needed to mount the loop device. After this step you should be ready to make you first bacon...

    2. MAKING THE BACON

    Pretty easy now.

    1) Run "./MakeCM.sh" and chose the first option -> Updates from the repository are pulled and the proprietary files from my older build (has been downloaded in setup step 5) are copied to where they belong.
    2) Run "./MakeCM.sh" and chose 2 -> The build process starts. This will take about 30 min on a quadcore (number of usable cores is autodetected).
    3) Run "./MakeCM.sh" and chose 3 -> Everything will be packed into a flashable zip file in ~/Cyanogenmod/.

    The zip will contain a stable version of my ClockworkMod(Mod) and the Google apps.

    If you want to make a new build run "./MakeCM.sh" and chose 4 to clean up. Then start at 1) again.

    Enjoy your bacon hot and crispy.

    mblaster

    €: Replaced attachement due to a small error I just encountered. Gapps were not correctly included...