[XPERIA X8 General] sgt. meow:
WHAT'S IN THE RAMDISK

So anyone who has compiled a kernel (for the X8) or is about to step into the world of developing android awesomeness through kernel building, should know that there are 2 (two) parts to the kernel:

The kernel image compiled from source code, and

The ramdisk

Both are equally important and are inter-dependent; without the kernel, the ramdisk is nothing (unless of course the devs come up with any other use) and without the ramdisk, the kernel is incomplete (again, this may change in the near future).

You (XDA-ians as I like to call you guys), especially those in the X8 sub-forums must have read viper001's kernel building guide. If you haven't, and do not want to read just 4 posts because of your laziness, it tells you how to compile your kernel image. Hah, now you are almost dying to read it. Well go ahead, read it.

Done reading. Well if you followed that guide to the letter (which I am sure many of you haven't), you'll have compiled your kernel with the FXP ramdisk. Now you want to build it from another source. It's pretty much the same process. However the FXP ramdisk won't work with this kernel. Not a chance (maybe a little). You need the ramdisk so you unpack the kernel using DooMLorD's tool (and forget to thank him; go thank him right now) and see a folder named kernel.sin-unpacked. You open it and see a bunch of files that you've never even heard of. You drop the kernel-building project.

This guide will hopefully eradicate that fear, or ignorance (maybe), and cover up what's in the ramdisk.

The parent (or root) directory of the ramdisk folder itself contains a bunch of files and folsers, which also contain more files.

Let's look at the contents in the root directory:

1 “modules” folder – This one is pretty easy. It contains the kernel specific modules that are loaded up at boot.

2 “res” folder – This folder contains another folder named “images” which contains images to be used in the recovery (more on that later).

3 “sbin” folder – Inside this folder are about 200 files (may vary), most of which are responsible for basic functioning of the phone.

4 default.prop – This file contains only a few lines of code that allow adb to run (line 4) and also makes the kernel insecure to give us permanent root.

5 init – This program initializes elements of the android OS and looks at the two following files:

6 init.rc – This file contains generic initialization code

7 init.<machine_name>.rc – This file contains device-specific initialization code.

8 initlogo.rle – This is the bootlogo (not the bootanimation which comes with the ROM).

9 pre_hw_config.sh – This file is executed at boot to get settings like cpu freq and governors just right.

10 recovery.fstab – This file specifies how the different partitions and file systems are to be mounted.

11 ueventd.rc – This file sets user or group (or root?) permissions on /dev nodes. (I got this line from the Internet and have no idea myself what the hell this means o_0).

12 ueventd.goldfish.rc – This file is empty in our kernels. Dunno why, though.

Now for the files in the /res/images directory:

1 icon_clockwork.png – This is the background seen in CWM.

2 icon_error.png and icon_firmware_error.png – These images are displayed on the screen when there is an error. Not sure though as I have never encountered any such error before in my life.

3 icon_firmware_install.png and icon_installing.png – These images are displayed when installing anything via CWM.

4 indeterminateX.png (where X is a number from 1 to 6, both inclusive) – This is basically the animation of the progress bar (the grey stripes moving forwards, or backwards, or both).

5 progress_empty.png – This is the progress bar during the initial stages of flashing anything in CWM.

6 progress_fill.png – This is the progress bar fill.

These are the files in the /modules folder:

1 sdio.ko – This is a file related to WiFi.

2 tiwlan_drv.ko – This is the tiwlan WiFi driver module.

3 tiap_drv.ko – This is the tiap WiFi driver module.

4 x8uv.ko – This is the undervolting module.

5 synaptics_i2c_rmi4_no_dt.ko – This disables dual touch in Synaptics.

6 synaptics_i2c_rmi4_dt.ko – This enables dual touch in Synaptics.

NOTE: I am not an expert.

More to come soon. See you and I hope sincerely that I do not get banned for this.