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 i386Update Source Packages :
sudo apt-get updateUpgrade Source Packages :
sudo apt-get upgrade -yInstall 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-devTested 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-devYou need Linker python3:
sudo mv /usr/bin/python /usr/bin/python2sudo ln -s /usr/bin/python3 /usr/bin/pythonGithub 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 > ~/repochmod a+x ~/reposudo mv ~/repo /usr/bin/To initialize your local repository, use a command like this:
mkdir -p ~/androidcd ~/androidrepo init -u https://github.com/DoraemonOS/android_manifest.git -b 12repo sync -c -j$(nproc --all) --force-sync --no-clone-bundle --no-tagsAdditionally, you can define the number of parallel download repo should do:
repo sync -f -j$(nproc --all) --force-sync --no-clone-bundle --no-tagsOr 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/yyyxxx = brand
yyy = codenameEX:
Device : Xiaomi Redmi Note 5 Pro ( Whyred )
Device Tree : ~/repo/device/xiaomi/whyred
Vendor : ~/repo/vendor/xiaomi/whyred
Kernel : ~/repo/kernel/xiaomi/whyredPack 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/whyredFrom root directory of Project, perform following commands in terminal
If you use Ubuntu 18.04 i think you need this:
export LC_ALL=CSource Terminal :
source build/envsetup.shCompilation With Brunch :
brunch dora_<devicecodename>-userdebugEX:
Device : Xiaomi Redmi Note 5 Pro ( Whyred )
Type : brunch dora_whyred-userdebug
Or
Type : brunch dora_whyred-eng
Type : brunch dora_whyred-userCompilation With Lunch :
lunch dora_<devicecodename>-userdebugmka 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-usermka bacon -j$(nproc --all)DORA_BUILD_TYPE := OFFICIAL or UNOFFICIAL
DORA_MAINTAINER := You Name