[XPERIA X8 Android Development] championswimmer:
[size=+2]PLEASE USE THIS THREAD (LINK) FROM NOW ON. I WILL NOT MONITOR THIS THREAD ANYMORE [/size]

INTRODUCTION

So we all know dsixda's XDA ROM Kitchen

Then how about a kitchen for Kernels ??

What started out just as my personal directory where I kept all my kernel and ramdisk tinkering scripts, has now turned into a project (which is far from finished right now :p )

This does NOT enable you to compile the kernel binary (aka zImage).

This enables you to edit ramdisk and change bootsplash images and helps kernel developers to deploy their compiled kernel in a usable form.

FEATURES

As of now what we can do with the Kernel Kitchen is

Fully menu driven interface (like dsixda kitchen)

Extract zImage and ramdisk from boot.img file

Create boot.img from zImage and ramdisk

Extract zImage and ramdisk from any ftf file that contains kernel.sin (Xperia 2010, 2011, 2012)

Create flashable ftf from zImage and ramdisk (Xperia 2010 only)

Create compressed ramdisk binary from ramdisk folder

Extract ramdisk files from ramdisk binary

Convert png image to rle format (used in android boot splash images)

Convert rle boot splash to png file (so that you can edit it)

Proposed upcoming features

Automatic script to change boot splash in a kernel with your favourite png file

STYLE CODE :

bold are supported only in linux

italics are supported in linux and windows+cygwin

underline

are supported in windows native (without cygwin)

(if more than one style is used, it supports all respective platforms)

REQUIREMENTS

This tool is primarily meant for linux users (preferably Uubuntu).

But it works perfectly well on windows+cygwin too :)

Some portions of the kitchen have support for native windows (without even cygwin)

Rest all requirements are mentioned in the readme :)

WHAT ARE ITS USES ?

1.

The primary purpose (for which this project started out in the first place) is to provide a easy kernel deployment tool for wannabe kernel devs.

A lot of us can compile a kernel from source but that is just the zImage and cannot be used as such on the phone. We need to package it with a ramdisk ad deploy it thorough a proper method (flashtool for Xperia, ODIN for samsund, and fastboot for other phones)

​

2.

You canedit ramdisk properties (by editing default.prop)

Changing ro.secure=1 to ro.secure=0 makes your ramdisk insecure and enables easy root access :)
​

3.

The most immediate and popular use that i can see right now is changing the boot logo to your liking

the boot logo is called logo.rle or initlogo.rle and is placed in the root of ramdisk folder.

When you split kernel, you can find the rle file which you can convert into png, do necessary editing and convert back into rle and pack up the ramdisk and create a new kernel

​

4.

Other than that, you can change the recovery system

for eg. you can include Doom's Touch recovery system inside your favourite kernel

or you can include the xRecovery inside CM7 kernel so that you can flash amend zips.

Changing the recovery is ofcourse a little more complicated for average users, and i'll write a short tuto for that soon enough :)
​

DOWNLOAD AND USAGE

The sources can be found on www.github.com/championswimmer/kernel-tools

For linux (and cygwin) users I recommend the install git and run this command to get a copy of my repository

git clone https://github.com/championswimmer/kernel-tools.git

Or in general, all linux and windows users can just get a zipball of my repo here

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

All usage information can be found on this elaborate readme

In short all you have to do is cd to the appropriate folder and run this

./menu

CREDITS

None of this was possible without the helps and works of DoomLord, Azuzu, bin4ry, FXP, defer, blagus, nobodyAtall, the_laser, Androxyde

These works are directly included in my project

DoomLord's kernel.sin and ftf creator (windows version)

These works are used in their modified/repackaged form

DoomLord's png and rle interconversion tool (windows version)

DoomLord's perl script to split kerel.sin

And big thanks to nobodyAtall for pointing me the appropriate linux binaries (or i would have kept pouring wine over windows exe files)

Thanks to ImageMagick developers for the awesome tool

SOURCES USED

1. to565 and from565 source code (part of Android Open Source Project)

2. mkbootimg and mkbootfs standalone sources (part of AOSP)

3. abootimg sources (by Gilles Grandou)