Ebben a cikkben a CM forrásból ROM-má való összeállításának alap lépéseit fogom bemutatni.
Portolásról nem fogok írni, csak forrásból való fordításról lesz szó.
Angol tudással rendelkezőknek a következő komplex leírást javaslom: cyanogen/Development
Figyelem!
Nem vállalok felelősséget ha ezek alapján elrontod, téglásítod a telefonod. Ha dühöngő sárkánnyá változik és leégeti a szomszédságot, esetleg ha nem működik az ébresztő és ezért kirúgnak.
Ez egy általános leírás a készülékek nagy részére igazak lesznek a következő lépések.
Hirdetés
Először is szükségünk van egy Linux disztribúcióra.
Elméletben a Live CD is megteszi de én nem javaslom.
Ezen felül szükségünk van még sok feles tárhelyre. Nagyjából 50 GB-t fogunk használni.
A művelet a gazda gép teljesítményétől függően több órát is igénybe vehet.
Mivel kezdőknek íródik a cikk így a legközismertebb LINUX disztribúciót veszem alapul.
Tehát szükségünk van egy Ubuntu-ra.
Szükségünk lesz egy adminisztrátor jogokkal rendelkező Terminálra és a szükséges csomagokra valamint egy Java-ra.
Jelenleg a 8-as Java van használatban így azzal dolgozok, elméletileg Java 6 fölött bármi jó.
1 - Terminál nyitása (Ubuntu gyors gomb: CTRL+ALT+T)
2 - $SU (Ezzel admin jogot szerez a Terminál)
3 - Bekéri a Super User-hez tartozó jelszavunkat.
4 - A Java telepítése a következőként néz ki:
add-apt-repository ppa:webupd8team/java
apt-get update
apt-get install oracle-java8-installer
apt-get install oracle-java8-set-default
5 - Szükséges csomagok telepítése:
apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev \
libx11-dev libreadline6-dev libgl1-mesa-dev tofrodos python-markdown \
libxml2-utils xsltproc pngcrush gcc-multilib lib32z1 schedtool
6 - Google Repo beszerzése, futtatási jog megadása:
mkdir ~/bin
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
7 - Itt ajánlott egy reboot.
8 - Vissza a terminálba!
9 - Ideje beállítani a CM repo-t.
CM 12.1-el ez így néz ki:
mkdir -p ~/CM12.1/android/system
cd ~/CM12.1/android/system
PATH=~/bin:$PATH
repo init -u git://github.com/CyanogenMod/android.git -b cm-12.1
Az aktuális megtalálható a github/CyanogenMod/android oldalon.
10 - $repo sync
- Ez hosszú lesz.
11 - Szükségünk van a prebuildre is.
cd ~/CM12.1/android/system/vendor/cm/
./get-prebuilts
cd ..
Eddig a pontig csak favágás. Mostantól mindenki a saját készülékéhez készíti:
Szükségünk van az adott készülék kódnevére. Legegyszerűbben a Cyanogen oldalán találjuk ezt meg.
Néhány példa:
OnePlus One - bacon
Nexus 4 - mako
Nexus 5 - hammerhead
Nexus 6 - shamu
12 - Amennyiben nincs a CM device tree-ben a készülékünk a következő parancsokra hiba fog érkezni és kézzel github-on kell megkeresni azokat. Ellenkező esetben a következő parancsokkal elindítjuk az utolsó folyamatot.
.build/envsetup.sh
breakfast KÓDNÉV
brunch KÓDNÉV -jX
Az X a CPU magok számát jelöli.
A kódnév pedig a saját készülék egyedi kódneve.
Néhány óra elteltével megtaláljuk a flashelhető ZIP file-t a /CM12.1/out/target/product/KÓDNÉV mappában. 
Köszönöm, hogy benéztél, remélem tudtam segíteni!
Hasznos linkek:
github - CyanogenMod/android
How To Port CyanogenMod Android To Your Own Device
Cyanogen/Devices
-s3nsitivity
/ Ennek nagyon örülök viszont ebből kéne csinálni egy *.img-t na és itt a baj mert nemtudom hogy hogyan csináljam ezt, mármint oké abootimg vagy akármi, viszont ramdiskel nem vagyok tisztában stb, egy kis xperia minihez próbáltam csinálni egy kernelt de mindig bootloop az eredmény.. :/ Esetleg nem tudnál segíteni hogy a végén zimgae után mik a pontos teendők?
Sok sikert hozzá!