This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* author Huber Flores | |
*/ | |
### CyanogendMod7.2 | |
### Builded in 64 bits Machine with Ubuntu quantal quetzal 12.10 | |
# Install android SDK | |
# Download version x86_64 | |
# Tutorial http://developer.android.com/sdk/index.html | |
### Install dependencies | |
$ sudo apt-get update | |
$ sudo apt-get install zip build-essential curl git-core \ | |
python gcc patch flex bison gperf \ | |
g++ squashfs-tools \ | |
ia32-libs g++-multilib zlib1g-dev \ | |
lib32z1-dev lib32ncurses5-dev \ | |
gcc-multilib libwxgtk2.8-dev \ | |
tofrodos texinfo mtools ccache \ | |
gnupg libc6-dev x11proto-core-dev \ | |
libx11-dev lib32readline-gplv2-dev \ | |
libgl1-mesa-dev libxml2-utils | |
$ sudo apt-get install gnupg flex bison gperf build-essential squashfs-tools \ | |
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ | |
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \ | |
libgl1-mesa-dev g++-multilib mingw32 tofrodos \ | |
python-markdown libxml2-utils xsltproc zlib1g-dev:i386 | |
$ sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev \ | |
libwxgtk2.8-dev squashfs-tools zip pngcrush schedtool libxml2 xsltproc | |
# 64 bits dependecies | |
$ sudo apt-get install lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev \ | |
gcc-4.7-multilib g++-4.5-multilib | |
# Install java | |
# Java SE 1.6 is required (other version, even greater is not accepted by the compiler) | |
# Download jdk-6u34-linux-x64.bin | |
$ chmod +x jdk-6u34-linux-x64.bin | |
$ sudo ./jdk-6u34-linux-x64.bin | |
$ sudo mv jdk1.6.0_34 /usr/lib/jvm/ | |
$ sudo apt-get install update-java | |
$ sudo update-java (Choose your java version, if you have more installed) | |
### Set up environment (Follow the instructions to have similar environments) | |
$ mkdir CyanogenModBuild | |
$ cd CyanogenModBuild | |
$ mkdir environment | |
$ cd environment | |
$ mkdir ~/bin | |
$ mkdir ~/android/system | |
# Install repo command in /bin | |
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo | |
$ chmod a+x ~/bin/repo | |
# Open your bashrc file (in my case) | |
$ cd /homer/huber | |
$ nano .bashrc | |
# add the following line at the end | |
export PATH=$PATH:/home/huber/android-linux-x86_64/sdk/platform-tools:/home/huber/Desktop/CyanogenModBuild/environment/bin | |
export USE_CCACHE=1 | |
# Now you can call $ repo and $ adb from any location | |
# Initialize repository | |
$ cd ./android/system | |
$ repo init -u git://github.com/CyanogenMod/android.git -b gb-release-7.2 | |
# it will take time | |
# Once finished, then synchronize repositories (-j16 is for the number of concurrent threads) | |
$ repo sync -j16 | |
# Copy proprietary files from the device | |
# Plug the device to your computer | |
$ cd ~/android/system/device/samsung/galaxys2/ | |
$ ./extract-files.sh | |
# No missing files or errors should appear. If some files are missing, then you can try to find the missing file by downloading a stable CyanogenMod ROM (http://get.cm/?device=galaxys2&type=stable, cm-7.2.0-galaxys2.zip) | |
# Download the ROM Manager | |
$ cd ./android/system/vendor/cyanogen/ | |
$ ./get-rommanager | |
# Synchronize again for updates | |
$ cd ~/android/system/ | |
$ repo sync | |
# Build CyanogenMod7.2 | |
$. build/envsetup.sh | |
$ brunch galaxys2 | |
# Possible errors may appear | |
1) | |
Unknown parameter xmlns for tags/attrs... | |
make: *** [out/target/product/galaxys2/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/XMLNSNames.cpp] Error 255 | |
# [SOLVED]: This is a bug from GCC 4.7, try to downgrade GCC to 4.5 or 4.6.2 | |
# if you have 4.7 already installed, then install 4.5 or 4.6. Later, switch between compilers with the update-alternatives command, below procedure | |
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 47 | |
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 46 | |
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.5 45 | |
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 47 | |
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 46 | |
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.5 45 | |
$ sudo update-alternatives --config gcc | |
There are 3 choices for the alternative gcc (providing /usr/bin/gcc). | |
Selection Path Priority Status | |
------------------------------------------------------------ | |
0 /usr/bin/gcc-4.7 47 auto mode | |
* 1 /usr/bin/gcc-4.5 45 manual mode | |
2 /usr/bin/gcc-4.6 46 manual mode | |
3 /usr/bin/gcc-4.7 47 manual mode | |
In short, both, GCC and G++ should have same version (e.g 4.5) | |
2) | |
# Missing prop files dependecies | |
# Extract them from the stable version as discussed before | |
3) Cloud issue (Amazon - Generic Ubuntu) | |
# The following packages have unmet dependencies: | |
# ia32-libs : Depends: ia32-libs-multiarch but it is not installable | |
# E: Unable to correct problems, you have held broken packages. | |
# [SOLVED]: | |
# Enable the installation of i386 packages on your 64 bits system: | |
$ dpkg --add-architecture i386 | |
$ apt-get update | |
# Once the compilation process has finished, copy the ROM to your internal sdcard cm-7-20130131-UNOFFICIAL-galaxys2.zip (location:/android/system/out/target/product/galaxys2/) | |
### Flash the ROM in the device (Remember to have a backup) | |
# Open CWM | |
# Choose install zip from internal sdcard | |
# Install ROM cm-7-20130131-UNOFFICIAL-galaxys2.zip | |
# Wipe factory | |
# Wipe cache | |
# Restart device | |
1 comentario:
Estaba averiguando para comprar un samsung galaxy ya que me hablaron muy bien sobre este celular. Espero poder conseguir a un buen precio este modelo para no gastar tanto en ello
Publicar un comentario