Build for m7ul
Directions for building Omni for the HTC One (m7ul)
Most of the commands shown in this guide assume you are using Linux (e.g. Ubuntu)
Setting up the build environment
If you need to set up your environment follow these steps general Android build environment.
The above link may say that you must use java-1.6.0-openjdk, the build can now also be done using java-1.7.0-openjdk
Getting the Omni source code
This section assumes that when you used repo sync to download the Omni source code you did this in ~/android/omni. However, you can use any directory you wish, just be sure to use the correct directory name when following the examples below.
Make sure you are in the correct directory
Create a local_manifests directory
Using your favorite editor create a file, which you will save as
Paste this into that new local_manifest.xml file and save the file
<?xml version="1.0" encoding="UTF-8"?> <manifest> <remote name="omnirom" review="gerrit.omnirom.org" fetch="https://github.com/omnirom" /> <remote name="DonkeyCoyote" fetch="https://github.com/DonkeyCoyote/" review="gerrit.omnirom.org" /> <!-- V E N D O R --> <project path="vendor/htc" name="proprietary_vendor_htc" remote="DonkeyCoyote" revision="android-4.4" /> <!-- M 7 U L D E V I C E T R E E S --> <project path="device/htc/m7ul" name="android_device_htc_m7ul" remote="omnirom" revision="android-4.4" /> <project path="device/htc/m7-common" name="android_device_htc_m7-common" remote="omnirom" revision="android-4.4" /> <project path="kernel/htc/m7" name="android_kernel_htc_m7" remote="omnirom" revision="android-4.4" /> <project path="device/htc/msm8960-common" name="android_device_htc_msm8960-common" remote="omnirom" revision="android-4.4" /> </manifest>
Make sure you do not have a roomservice.xml file by using the following command. If you get an error that the file does not exist ignore that error because the result is what we want... no roomservice.xml file
Now do another repo sync to make sure you have the latest version of Omni's sources. You can speed this up by using multiple threads depending on how many processors your system has. If you don't know how many you can find out with the following command
grep processor /proc/cpuinfo | wc -l
If the above command returns 6 then you can do this (if you get a different number use that)
repo sync -j6
It's not neccessary to use the maximum number or processors, you can use any number between 1 and your maximum. In fact if you experience timeout errors when running repo sync try again using -j1.
running lunch will ask you to choose what you want to build, choose omni_m7ul
Your new ROM
If the build completes successfully you can find the ROM at
Flash this the same as any other ROM, but do a nandroid backup first!
If you are flashing Omni ROM over a different ROM you should do a full wipe (factory reset first), if you are flashing over an older version of Omni ROM this is not necessary.