Quote:
Originally Posted by yamdigger View Post
I would...if I could. Unfotunately, my knowledge of Android kernel programing is nearwere near as advanced as Gavin's. And Id probably end upbricking my phone. Some things in life are best left to the experts.
the kitchen is super easy to use (wish others would try it, would love to see "Team NoteCore" variations )

its super easy to use: you need

Linux

Install these packages (if not come with linux install, most distributions do include these)

GCC, Make, Libncurses, libqt4devel OR libqt3devel

1) download the source, and kitchen from the link in OP (its an all-in-one-package)
2) Extract the package to any folder you wish (eg "kernel")
3) Download a toolchain. The easiest one to get, for people new to compiling is the Linaro package here https://launchpad.net/linaro-toolcha..._linux.tar.bz2
4) Extract the toolchain package to any other folder (eg "toolchain")


5) In your extracted source folder you should see a number of folders

"initramfs_n7000" contains all the files for the initramfs (duh!)
"kernel_out_oc" is the directory where the final flashable OC kernel files will be placed
"kernel_out_std" is where the STD kernel flashable files will end up
"modified_source_files" contains all the files in the kernel that I have changed, retaining their directory structure as would appear in the kernel files
"reference_source" contains the pure, unedited HK_Update 1 source files
"scripts" contains the kitchen script and utility
"source" contains the kernel source code actually used for the compiling and is the "working" copy

Now, open the file called "Makefile" in modified_source_files/

edit this line (line 196 in kwrite)

Code:
CROSS_COMPILE	= /home/gavin/Desktop/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
to look like this

CROSS_COMPILE = /YOUR-DIRECTORIES/LOCATION OF EXTRACTED TOOLCHAIN/bin/gcc-linaro-arm-linux-gnueabihf-2012.07-20120720_linux/bin/arm-linux-gnueabihf-

eg..

Code:
CROSS_COMPILE   =/home/gavin/Desktop/toolchain/gcc-linaro-arm-linux-gnueabihf-2012.07-20120720_linux/bin/arm-linux-gnueabihf-
Now do exactly the same for the "Makefile" in source/


6) Now open yourself a terminal (konsole, xterm, does not matter)
7) run "su" and enter the root password
8) navigate in the terminal to the extracted location of the kitchen
9) run "./menu.sh"
eg,
Code:
[gavin@localhost ~]
[gavin@localhost ~]$ su
Password: 
[root@localhost ~]# cd /home/gavin/Desktop/KBUILD/
[root@localhost KBUILD]# ./menu
10) Now we come to the clever bit - a fully automatic kernel kitchen!

You will be presented with a number of options

Code:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~Notecore kernel Autobuilder v2.2~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Working directory = /home/gavin/Desktop/KBUILD

Please choose one of the following options...

Type m to merge source/ with modified_source_files/ (to apply modified files)
Type d to make the standard q1_defconfig (will overwrite your current config)
Type x to configure your kernel with xconfig

Type o to compile OC kernel and build flash files
Type s to compile STD kernel and build flash files
Type b for bug-finding compile

Type c to Make Clean the source/ directory
Type t to Clean and TAR for source uploading
Type p to create a diff patch file from source/ against reference_source/

Type r to reset source/ to reference_source/ reverting all changes
Type q to Quit

Choose >
Now, press M. All the modified files in modified_source_files will be automatically copied to the source/ folder , recreating my kernel precisely

When it is finished, press X to load the Xconfig kernel configuration utility. You will see a message

Code:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~RUNNING XCONFIG~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Moving to source directory /home/gavin/Desktop/KBUILD/source/

DONT FORGET TO SET THE INITRAMFS SOURCE TO-
/home/gavin/Desktop/KBUILD/initramfs

Launching xconfig.....
highlight and right-click copy the listed directory, in this case
Code:
/home/gavin/Desktop/KBUILD/initramfs
(if you dont do this before XConfig loads dont worry the window will still be there in the background)

it is very important that you paste this directory in the xconfig section for "Initial RAM filesystem and RAM disk (initramfs/initrd) support" which you can find by clicking on"General Setup" option on the left and its halfway down on the right

Now look around in xconfig.....there are thousands of things you can do. Add things, take things away, change governors, schedulers, kernel version names (dont add any spaces to the name!), everything , but to begin with, just click "save" (usual floppy icon at the top) and exit.


Now you are back at the menu. press "b" to run a "bug finding compile"

Sit back and wait, even on the fastest computer this is gonna take a while. Those of you with slower laptops or netbooks will now appreciate how long it takes to compile on a netbook.

If you followed all the steps so far, your first kernel *should compile* without any issues. It should take at least 10 minutes on the fastest machine. If it stops with an error, eithger investigate yourself or take a screenshot and send me a PM

It might throw up lots of warning when compiling, ignore them. If it properly errors you will know it because the compilation will stop and throw out an error you probably have no comprehension of, at this stage.

If it finishes properly (its obvious because it says "zImage is ready") press any key to return to the menu. Now press either "o" or "s" to do a full compilation of the kernel that you can flash on your phone.

Pressing o = compile the OC kernel
Pressing s = compile the STD kernel

This will take less time as the kernel is already compiled by now (when you pressed "b") and be over in a few minutes.

At this point, you should see some .tar and .zip flashable files in the kernel_out_ directory of whatever kernel you decided to build. These are the finished files, ready to copy to phone and flash! Go ahead and try them, and if successful you have built your first android kernel!