https://github.com/surendrajat/building_resurrectionremixos_o7prolte
A guide to build RR OS for o7prolte
https://github.com/surendrajat/building_resurrectionremixos_o7prolte
manifest o7prolte-rr-rom resurrectionremix rom
Last synced: 4 months ago
JSON representation
A guide to build RR OS for o7prolte
- Host: GitHub
- URL: https://github.com/surendrajat/building_resurrectionremixos_o7prolte
- Owner: Surendrajat
- Created: 2018-03-30T06:03:22.000Z (about 7 years ago)
- Default Branch: Pie
- Last Pushed: 2020-07-12T02:13:40.000Z (almost 5 years ago)
- Last Synced: 2025-01-10T15:35:46.051Z (5 months ago)
- Topics: manifest, o7prolte-rr-rom, resurrectionremix, rom
- Language: Shell
- Homepage:
- Size: 27.3 KB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### **`ROM & Environment details`**
- OS: **`Resurrection Remix 7.0.1`**
- Android version: **`9.0 Pie`**
- Host OS: **`Ubuntu 16.04+`**### **`Setup env & Sync ROM Source`**
- Install required packages
```bash
sudo apt install android-tools-adb bc bison build-essential ccache curl flex g++-multilib gcc-multilib git-core gnupg gperf htop imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev libc6-dev libcurl4-openssl-dev libesd0-dev libgl1-mesa-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libx11-dev libxml2 libxml2-utils lzop maven ncftp nss-updatedb pngcrush python-lunch rsync schedtool screen squashfs-tools tmux unzip w3m x11proto-core-dev xsltproc yasm zip zlib1g-dev
```
- Install **`repo`** tool
```bash
mkdir ~/bin && curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo
```
- Setup **`git credential`**
```bash
git config --global user.email "your-email-address"
git config --global user.name "your-git-username"
```
- Create new **`RR`** dir
```bash
mkdir ~/RR && cd ~/RR/
```
- Initialize **`repo`** in **`RR`** dir with **`default manifest`**
```bash
yes | repo init -u https://github.com/ResurrectionRemix/platform_manifest.git -b pie --depth=1
```
- Clone **`local manifest`** (device tree, kernel source, vendor blobs etc.)
```bash
cd .repo && git clone https://github.com/on7/local_manifests && cd ..
```
- Sync the **`ROM Source`**
```bash
repo sync -c --no-tags --no-clone-bundle -f --force-sync -j16
```
- `-jN`: `N` <= `2 * No. of total CPU threads`### **`Build the ROM`**
- Enable **`50GB`** **`CACHE`**
```bash
export USE_CCACHE=1
export CCACHE_DIR=~/RR/.ccache
./prebuilts/misc/linux-x86/ccache/ccache -M 50G
```
- Clean previous builds (if any)
```bash
make clean #deletes all the object files created
# OR
make clobber #deletes all the object files AND the intermediate dependency files generated
# OR
make installclean #cleans recently built installation files only(useful for quick recompilation)
```
- Setup build environment
```bash
. build/envsetup.sh
```
- Choose the build target
```bash
lunch rr_o7prolte-userdebug
```
- Finally build it!!!
```bash
make -j16 bacon
```
### **`Troubleshooting`**
- `java.lang.OutOfMemoryError` : Set `_JAVA_OPTIONS` with lower value than your physical memory (RAM)
```bash
#for example you've 4GB of RAM put 3GB limit for JAVA processes
export _JAVA_OPTIONS="-Xmx3g"
```