I got one of this very nice mobiles. Snapdragon 820, 3GB RAM, 32GB Storage and all of this with a tiny pricetag of around 350 Euro (Shopped from Honorbuy). The only thing i don’t like is the Miui ROM…. typical chinese features and a iOS like UI, hey i bought a Android!
So the “Level Zen” Developers 😉 from XDA came together and created the Device Tree for it – There is no kernel source released so far, so they have to use the prebuild Xiaomi kernel.
Disclamer: I only show you how to use that device tree to build a fully working ROM! If you want to donate, you directly should do it to the developers of the device tree! My programming skills are way to low to contribute code :/
If you trust me, you can download my daily, weekly or whatever builds (Depends on how often the device tree and / or Cyanogenmod gets updates) directly from > here < and install it via TWRP.
In case somebody wants to build Cyanogenmod 13 for it, keep reading! But before get a fast and large  (!) cloud instance or bare metal server! It takes ages to compile when you don’t have a powerful host! I can recommend Vultr for it. I won’t cover the Ubuntu installation here, you should already know that.
- Do a openssh only installation of Ubuntu 16.04
- Login with your created user and let’s begin!
First we have to be sure that our Ubuntu is up2date and has all needed packages installed:
sudo apt update; apt full-upgrade -y sudo apt install git ccache automake lzop bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 g++-multilib python-networkx libxml2-utils bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev squashfs-tools pngcrush schedtool dpkg-dev liblz4-tool make optipng maven bc -y sudo add-apt-repository ppa:openjdk-r/ppa sudo apt update; sudo apt install openjdk-7-jdk -y sudo apt remove --purge openjdk-8-jre-headless -y
Now we can take care about the repository settings:
mkdir ~/bin ; wget http://commondatastorage.googleapis.com/git-repo-downloads/repo -O ~/bin/repo ; chmod a+x ~/bin/repo echo "export PATH=~/bin:$PATH" >> ~/.bashrc echo "USE_CCACHE=1" >> ~/.bashrc source ~/.bashrc
Please keep in mind: You’ll need at least 100GB to do the build process, so please create this directory on a partition with enough space! (Here i create the directory in the users home):
mkdir ~/buildenv ; cd ~/buildenv
Now we prepare and sync the Cyanogenmod 13 repository (This take some time, depending on your connection speed):
repo init -u https://github.com/CyanogenMod/android.git -b cm-13.0 repo sync
After the repository is syncronized, we have to implement and sync the device tree:
mkdir ~/buildenv/.repo/local_manifests wget https://raw.githubusercontent.com/Mi5Devs/android/master/roomservice.xml -O ~/buildenv/.repo/local_manifests/roomservice.xml repo sync
At this point, you have everything to homebrew your Mi5 rom! Ready?
source build/envsetup.sh brunch cm_gemini-userdebug
This will take several hours to complete! Get a very large coffee or do a forest walk with your girlfriend, friend, dog, cat or with whatever you usual walk in a forest!
On a 8 Core, 16GB RAM and SSD cloud instance it took:
#### make completed successfully (02:04:34 (hh:mm:ss)) ####
Then you’ll find the ROM zipped in the folder:
~/buildenv/out/target/product/gemini/
The name of the ZIP file looks like this:Â cm-13.0-20160719-UNOFFICIAL-gemini.zip
Edit (24.07.2016):
If you have problems with Fingerprint Sensor and be familiar with ADB / Fastboot:
adb reboot bootloader fastboot flash dsp adspso.bin fastboot flash bluetooth BTFM.bin fastboot flash cmnlib cmnlib.mbn fastboot flash cmnlibbak cmnlib.mbn fastboot flash cmnlib64 cmnlib64.mbn fastboot flash cmnlib64bak cmnlib64.mbn fastboot flash devcfg devcfg.mbn fastboot flash aboot emmc_appsboot.mbn fastboot flash abootbak emmc_appsboot.mbn fastboot flash hyp hyp.mbn fastboot flash hypbak hyp.mbn fastboot flash keymaster keymaster.mbn fastboot flash keymasterbak keymaster.mbn fastboot flash pmic pmic.elf fastboot flash pmicbak pmic.elf fastboot flash rpm rpm.mbn fastboot flash rpmbak rpm.mbn fastboot flash tz tz.mbn fastboot flash tzbak tz.mbn fastboot flash xbl xbl.elf fastboot reboot
If you encounter problems or have suggestions, please leave a nice comment!
Could you please remove the open_gapps zips from https://store.shade.sh/mi5/ they are violating the no-mirror license because they are publicly linked from http://www.miui.com/thread-5010303-1-1.html
Didn’t know that, sorry. Files removed.
just rename it so that they dont recognize it as open gapps and all is god. I dont even know how they find out that this tiny blog uploaded the files on its Server
soo please add the files again
Thx! 😛
Very useful…
What about cm14?