FORUMS
Remove All Ads from XDA

[HowTo] Compile your own Cyanogenmod 7

433 posts
Thanks Meter: 95
 
By mblaster, Inactive Recognized Developer on 5th August 2011, 02:08 PM
Post Reply Email Thread
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...
Attached Files
File Type: zip CyanogenmodBuildscripts.zip - [Click for QR Code] (3.7 KB, 529 views)
The Following 6 Users Say Thank You to mblaster For This Useful Post: [ View ] Gift mblaster Ad-Free
 
 
5th August 2011, 02:08 PM |#2  
OP Inactive Recognized Developer
Thanks Meter: 95
 
More
%reserved%
The Following User Says Thank You to mblaster For This Useful Post: [ View ] Gift mblaster Ad-Free
5th August 2011, 02:12 PM |#3  
OP Inactive Recognized Developer
Thanks Meter: 95
 
More
%also reserved%
12th August 2011, 05:05 AM |#4  
Senior Member
Thanks Meter: 16
 
More
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.
14th August 2011, 02:28 PM |#5  
OP Inactive Recognized Developer
Thanks Meter: 95
 
More
Quote:
Originally Posted by xitrumch

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
15th August 2011, 01:46 PM |#6  
Senior Member
Thanks Meter: 16
 
More
Quote:
Originally Posted by mblaster

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

Hi mblaster, thanks a lot for your help, I re-ran the Setup2.sh and everything works!
18th August 2011, 12:56 PM |#7  
leolias's Avatar
Member
Flag Sevilla
Thanks Meter: 2
 
More
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?
18th August 2011, 01:01 PM |#8  
OP Inactive Recognized Developer
Thanks Meter: 95
 
More
Quote:
Originally Posted by leolias

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.
19th August 2011, 12:45 AM |#9  
leolias's Avatar
Member
Flag Sevilla
Thanks Meter: 2
 
More
Thanks a lot.

Enviado desde mi Folio 100 usando Tapatalk
22nd September 2011, 10:44 PM |#10  
pdaddy's Avatar
Senior Member
Flag Texas
Thanks Meter: 102
 
More
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.
24th September 2011, 07:40 PM |#11  
pdaddy's Avatar
Senior Member
Flag Texas
Thanks Meter: 102
 
More
Anybody have an answer on this?

Sent from my Toshiba Thrive using Tapatalk.
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes