To get started with the building process, you'll need to get familiar with Git and Repo.
Minimum computer :
[CPU Intel | AMD] [64Bit] [Min 8 Core]
[Ram] [Min 16Gb]
[SSD | HDD | nvme] (Min[320Gb])
[Ubuntu 14.04 64Bit]
To
[Ubuntu 21.04 64Bit]
Or
[Later Ubuntu Versions 64Bit]
Or
[Debian 64Bit]
Package : Enable I386 Packages :
sudo dpkg --add-architecture i386
Update Source Packages :
sudo apt-get update
Upgrade Source Packages :
sudo apt-get upgrade -y
Install Packages : Tested on Ubuntu 16.04,16.10,17.04,18.04,18.10,19.04,21.04:
sudo apt install openjdk-8-jdk python bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev
Tested on Ubuntu 20.04:
sudo apt install openjdk-8-jdk python bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-gtk3-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev
You need Linker python3:
sudo mv /usr/bin/python /usr/bin/python2
sudo ln -s /usr/bin/python3 /usr/bin/python
Github Config Accmount :
git config --global user.name "username"
git config --global user.email "username@example.com"
Install repo [ bin folder ]
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/repo
chmod a+x ~/repo
sudo mv ~/repo /usr/bin/
To initialize your local repository, use a command like this:
mkdir -p ~/android
cd ~/android
repo init -u https://github.com/DoraemonOS/android_manifest.git -b 12
repo sync -c -j$(nproc --all) --force-sync --no-clone-bundle --no-tags
Additionally, you can define the number of parallel download repo should do:
repo sync -f -j$(nproc --all) --force-sync --no-clone-bundle --no-tags
Or Packages Repo Full :
repo sync -j$(nproc --all)
Or Repos no old commit
repo sync -f -j$(nproc --all) --force-sync --no-clone-bundle --no-tags --depth="1"
And Git Clone Device Tree / Vendor / Kernel : Source Device Tree :
Device Tree : ~/repo/device/xxx/yyy
Vendor : ~/repo/vendor/xxx/yyy
Kernel : ~/repo/kernel/xxx/yyy
xxx = brand
yyy = codename
EX:
Device : Xiaomi Redmi Note 5 Pro ( Whyred )
Device Tree : ~/repo/device/xiaomi/whyred
Vendor : ~/repo/vendor/xiaomi/whyred
Kernel : ~/repo/kernel/xiaomi/whyred
Pack Tree :
Xiaomi Redmi Note 5 Pro ( Whyred )
git clone -b 12 https://github.com/DoraemonOS-Devices/device_xiaomi_whyred.git devive/xiaomi/whyred
git clone -b 12 https://github.com/DoraemonOS-Devices/vendor_xiaomi_whyred.git vendor/xiaomi/whyred
git clone -b 12 https://github.com/DoraemonOS-Devices/kernel_xiaomi_whyred.git kernel/xiaomi/whyred
From root directory of Project, perform following commands in terminal
If you use Ubuntu 18.04 i think you need this:
export LC_ALL=C
Source Terminal :
source build/envsetup.sh
Compilation With Brunch :
brunch dora_<devicecodename>-userdebug
EX:
Device : Xiaomi Redmi Note 5 Pro ( Whyred )
Type : brunch dora_whyred-userdebug
Or
Type : brunch dora_whyred-eng
Type : brunch dora_whyred-user
Compilation With Lunch :
lunch dora_<devicecodename>-userdebug
mka bacon -j$(nproc --all)
EX:
Device : Xiaomi Redmi Note 5 Pro ( Whyred )
Type : lunch dora_whyred-userdebug
Or
Type : lunch dora_whyred-eng
Type : lunch dora_whyred-user
mka bacon -j$(nproc --all)
DORA_BUILD_TYPE := OFFICIAL or UNOFFICIAL
DORA_MAINTAINER := You Name