[Galaxy Note II General] codexc:
Make your 'own' KitKat ROM!

Overview

1. Installation of the required packages

2. Installing Java

3 The sources

5. Building the ROM

6. Rebuilding with newest sources

Installation of the required packages

Installation of the required packages (Ubuntu 13.10 64-bit)

Install packages:

sudo apt-get install bison build-essential curl flex \
g++-multilib gcc-multilib git-core gnupg gperf \
lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev \
libesd0-dev libncurses5-dev libsdl1.2-dev \
libwxgtk2.8-dev libxml2 libxml2-utils lzop \
openjdk-6-jdk openjdk-6-jre pngcrush schedtool \
squashfs-tools xsltproc zip zlib1g-dev

Install java:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java6-installer

Check java version

java -version

Set java oracle as default

sudo update-alternatives --config java

The sources

Install repo:

Note: Repo is a tool that makes it quite easy to download and maintain the sources of Cyanogenmod.

mkdir ~/bin
PATH=~/bin:$PATH
cd ~/bin
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

Create the working directory:

Note: you can create the working directory where ever you want

mkdir ~/rom
cd ~/rom

Now Initialize Repo:

repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0

Download the CM sources "this is the base only" :

Note: takes some time to download the hefty 12 GB of source code! and a locate about 18GB space from storage

repo sync

great, your clean base is ready for your creativity

Let's go!

Start making your manifest :

you need to add proprietary vendor , device stuff, samsung kernel, samsung kernel common

proprietary vendor

:

there two awesome proprietary for samsung:

1- by TheMuppets https://github.com/TheMuppets/proprietary_vendor_samsung/tree/cm-11.0

2- by xplodwild https://github.com/DonkeyCoyote/proprietary_vendor_samsung/tree/android-4.4

actually the both very strong and up-to-date , but i using the one by xplodwild

create new empty file "roomservice.xml"

in path

"~/rom/.repo/local_manifests/":

samsung kernel

:

you can use CM Stock Kernel

1- https://github.com/CyanogenMod/android_kernel_samsung_smdk4412

you can use an

custom kernel

like devil kernel

2- https://github.com/DerTeufel/android_kernel_samsung_smdk4412/

cd ~/rom/.repo/local_manifests/ && echo "" > roomservice.xml

Edit the file:

gksu gedit ~/rom/.repo/local_manifests/roomservice.xml

add the following:

<!-- proprietary vendor -->
<project name="DonkeyCoyote/proprietary_vendor_samsung" path="vendor/samsung" remote="github" revision="android-4.4" />
<!-- device stuff-->
<project name="CyanogenMod/android_device_samsung_n7100" path="device/samsung/n7100" remote="github" />
<!-- samsung kernel common -->
<project name="CyanogenMod/android_device_samsung_smdk4412-common" path="device/samsung/smdk4412-common" remote="github" />
<!-- cm stock - samsung kernel -->
<project name="CyanogenMod/android_kernel_samsung_smdk4412" path="kernel/samsung/smdk4412" remote="github" />

Save the file.

Now download your manifests stuff:

repo sync

Now to get the files needed

Note: required for the first time after you added device repo

cd ~/rom/vendor/cm
. get-prebuilts
cd ~/rom/

Building the ROM:

Note: Breakfast is a function used to configure your build. It keeps track of a list of officially-supported devices to build

Building takes around 2 hour on fast systems and a lot more on older and slower machines, first time take more than second time

more info : http://wiki.cyanogenmod.org/w/Build_for_n7100

Run :

Done !

Happy

building

! ... Happy Easter Eggs :)