This short guide assumes you're on Ubuntu 11.04
Getting the (right) source
First, we need to create directories for the build:
$ mkdir -p ~/bin $ mkdir -p ~/android/system
Now we'll need repo. Let's download it and make it executable:
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo $ chmod a+x ~/bin/repo
Log out and back in so the changes take effect.
Now initialized the repository and pull the source (with my repos attached):
$ cd ~/android/system/ $ repo init -u git://github.com/CyanogenMod/android.git -b gingerbread $ repo sync -j16
Depending on your connection, this might take awhile.
Getting the device configuration for the Huawei U8510
We need Makefiles and other stuff for the device. Take it from the repository
$ cd ~/android/system/devices/huawei/ $ git clone git://github.com/supertoast/android_device_huawei_u8510.git u8510
or download the tarball https://github.com/supertoast/android_device_huawei_u8510/tarball/master and extract it to ~/android/system/devices/huawei/ and name the new directory u8510
Extract necessary binaries and proprietary files
We will need to reuse some proprietary files from the stock ROM:
$ cd $ cd ~/android/system/device/huawei/u8510/ $ ./extract-files.sh
Once thats done you can start compiling.
Follow the aosp instructions on setting up the build environment. - http://source.android.com/source/download.html
When the environment is setup, we need to grab a copy of Koush's ROM Manager. This is necessary to build CM7.
$ cd $ ~/android/system/vendor/cyanogen/get-rommanager
Now, we build:
$ cd ~/android/system $ . build/envsetup.sh && brunch cyanogen_u8510-eng
If the build was successful, you can now take the update zip found in out/target/product/u8510/ and flash using a custom recovery. Make sure to grab the latest Gapps to complete the experience.
Before you syncing to the latest CM src remove the changes in vendor/cyanogen that was made from the script setup-makefiles.sh.
$ cd ~/android/system/vendor/cyanogen $ git reset --hard HEAD
When you want to rebuild with new changes or after syncing to the latest CM src make sure to do the following before you recompile.
make clean clobber