Join the Resurrection Remix Team
To get started with building from Resurrection Remix sources, you'll need to get familiar with Git and Repo.
- Tested and Working on any version of Ubuntu - 12.04, 12.10 and 13.10, 14.04 (64-bit)
- Operating System that has problems running on: Ubuntu 14.10
- Any other distribution based of the Ubuntu Distro such as Lubuntu, Xubuntu and etc.
- Any form of Terminal
- Decent hardware (minimum of at least a dual core CPU and 4 GB of RAM)
- A storage unit of any kind (We recommend utilizing SSDs as Mechanical HDDs slow down the build proccess drastically and the minimum storage size is 70GB. Having more will be useful with CCache[More on that later])
- Required Packages should have been installed
[Hint: This command updates the Ubuntu Packages List (Install Listing) and install the required version of Java]
$ sudo apt-get update
$ sudo apt-get install openjdk-7-jdk
[Hint: Running this command installs the other required packages to build android]
$ sudo apt-get install bison g++-multilib git gperf libxml2-utils
- Making required directories
- Obtaining the repo binary
- Adding repo binary to your path
- Giving the repo binary proper permissions
- Initializing an empty repo
- Syncing the repo
Alright, so now we’re getting there. I have outlined the basics of what we’re about to do and broke them down as I know them. This is all pretty much going to be copy/paste so it’ll be fairly difficult to screw this up :)
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ mkdir ~/RR
$ cd ~/RR
$ repo init -u https://github.com/ResurrectionRemix/platform_manifest.git -b lollipop
[Hint: This might take a long time as the source is about 13GB+]
$ repo sync
###Building the Resurrection Remix ROM
- Preparing Required Binaries and Device Drivers
- Setting Up CCache (Optional)
- Building Resurrection Remix
Congratulations on the succesfull build initialization! Now, we shall go ahead and prepare to build for your device!
- Follow the AOSP Porting Instructions stated here to prepare the proprietary files for building for your device: (http://xda-university.com/as-a-developer/porting-aosp-roms-using-source-code)
-
CCache is a method of utilizing a specified storage space to speed up building. It can be referred to as the same caching your android device does to speed up application and system boot times. In this case, CCache will help build Resurrection Remix faster than standard build times (Able to cut-down 50% of time taken to build).
-
To set up CCache, follow the following:
$ sudo nano ~/.bashrc
Doing this will open nano, a text editor for Linux. From here, navigate to the end of the file and add the following:
$ export USE_CCACHE=1
$ export CCACHE_DIR=~/.ccache
After doing so, do a CTRL+X and type Y and enter. This will save the .BashRC file with the changes made. Now that is complete, do the following to activate CCache.
$ prebuilts/misc/linux-x86/ccache/ccache -M 50G
The number before the letter G at the end specifies the amount of space CCache can use in your storage unit. As such, ensure that not too much of space is specified as this might result in unexpected errors although, the more storage you have, its recommended to have more CCache as it will increase the build times. Most efficient build systems are able to utilize CCache to about 120G or more.
$ cd ~/RR
$ . build/envsetup.sh && brunch <device>
To get the zip file that has been built, navigate to the out directory and find for the zip file there. If you found it, then congratulations! If you didn't, try retrying the build process but before doing so, ensure you do the following:
$ cd ~/RR
$ make clean
After doing so, redo everything stated from the Building Section.
Well, Congratulations on your victory! Now, you have a .zip file that flashable to your device! Share it to the internet as you wish but be sure to contribute back and also give credits to the Resurrection Remix Team and its contributors! Do come and build Resurrection Remix another time as new code is improved upon after time. If you wish to contibute, feel free to make a pull request to the Ressurection Remix Team! See you again builder!