To get started with the building process, you'll need to get familiar with Git and Repo.
Minimum computer :
[CPU Intel] [X86_64] [8 Core] {Or Mainboard Dual Socket CPU}
[Ram] [8Gb] [16Gb] [32Gb]
[Rom] [500Gb]
[OS] [Ubuntu 14.04 64Bit] | [Ubuntu 16.04 64Bit] | [Later Versions 64Bit] | [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 :
sudo apt-get install -y git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip bc repo nanoAnd :
sudo apt-get install -y git gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 x11proto-core-dev libx11-dev libgl1-mesa-dev libxml2-utils xsltproc unzip bc repo nano libssl-devAnd :
sudo apt-get install -y openjdk-8-jdk android-tools-adb bc bison build-essential curl flex g++-multilib gcc-multilib gnupg gperf imagemagick 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 yasm zip zlib1g-devAnd :
sudo apt-get install -y build-essential kernel-package libncurses5-dev bzip2 android-liblog android-libbacktrace libtinyxml2-6 android-libutils android-sdk-build-tools git-lfs libncurses5:i386 libncurses5Bin :
mkdir ~/bin PATH=~/bin:$PATH curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repoTo 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 Quiche repo 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)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 = 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 Quiche https://github.com/DoraemonOS-Devices/device_xiaomi_whyred.git devive/xiaomi/whyred
git clone -b Quiche https://github.com/DoraemonOS-Devices/vendor_xiaomi_whyred.git vendor/xiaomi/whyred
git clone -b Quiche https://github.com/DoraemonOS-Devices/kernel_xiaomi_whyred.git kernel/xiaomi/whyred
git clone -b Quiche https://github.com/DoraemonOS-Devices/vendor_MiuiCamera.git vendor/MiuiCameraFrom root directory of Project, perform following commands in terminal
Source Terminal :
source build/envsetup.shCompilation With Brunch :
brunch doraemon_<devicecodename>-userdebugEX:
Device : Xiaomi Redmi Note 5 Pro ( Whyred )
Type : brunch doraemon_whyred-userdebug
Or
Type : brunch doraemon_whyred-eng
Type : brunch doraemon_whyred-userCompilation With Lunch :
lunch doraemon_<devicecodename>-userdebugEX:
Device : Xiaomi Redmi Note 5 Pro ( Whyred )
Type : lunch doraemon_whyred-userdebug
Or
Type : lunch doraemon_whyred-eng
Type : lunch doraemon_whyred-user mka bacon -j$(nproc --all)