[Galaxy S I9000 Android Development] madrooster:
Change Log

Version 1.4

- DVJW1, XWJW6, XWJW7, XXJW6 and XWJW8 support (364MB RAM)

- Remove Superuser

- Replace with Chainfire's SuperSU 0.98

Version 1.3

- XXJW4 and XWJW5 support

- 364MB RAM for XXJW4 and XWJW5 only

- Fix typos in a few scripts

Version 1.2

- su binary updated to v3.0.3.2

- Superuser app updated to v3.0.7

- CWM: Updated to 5.0.2.6

- CWM: Fixed unmount /system functionality

- CWM: New tar-based nandroid backup method

- CWM: Partially fixed nandroid restore functionality - IMPORTANT: Read the last question in the FAQ post

Version 1.1

- su binary updated to v3.0

- Superuser app updated to v3.0

- Fix outdated su binary detection during boot

- New apk_zipaligner.sh script which zipaligns any non-aligned apps in /system/app and /data/app, see the FAQ for instructions on how to activate it

Version 1.0

- su binary updated to v2.3.2-efgh

- Superuser app updated to v2.3.6.3

- CWM: Updated to 4.0.1.4

- CIFS support, loadable with insmod

- busybox upgraded to 1.18.5, additional functions

Known Bugs

- Nandroid restore when lagfix is on makes /system unwritable

Frequently Asked Questions

The kernel build for my stock ROM isn't listed, which one do I use?

Use the build that is the closest match to your current build. If you look at the kernel version in Settings -> About Phone you will see a number after the letters 'CL' eg. CL123456. This is a change list version number.

Use this number to find the closest matching build using the lists below, without going outside your Android version. That means if your Android version is 2.3.3, ignore all the 2.3.4 and 2.3.5 kernels. If your Android version is 2.3.4, ignore all the 2.3.3 and 2.3.5 kernels. Lists for European and Australian builds can be found below to make it easier to determine which build you should use.

Example: Android version 2.3.3, change list number CL380123. The closest match would be the XWJVN kernel.

List of European Builds (Oldest to Newest):

I9000 XWJV1 - 2.3.2 - CL31216 --> Unsupported

I9000 XXJVK - 2.3.3 - CL75655 --> Use XXJVO kernel

I9000 XWJVA - 2.3.3 - CL103995 --> Use XXJVO kernel

I9000 XWJVB - 2.3.3 - CL118186 --> Use XXJVO kernel

I9000 XXJVO - 2.3.3 - CL182937 --> Use XXJVO kernel

I9000 XWJVH - 2.3.3 - CL184813 --> Use XWJVH kernel

I9000 RSJV3 - 2.3.3 - CL184813 --> Use XWJVH kernel

I9000 XWJVI - 2.3.3 - CL210427 --> Use XWJVI kernel

I9000 BUJVA - 2.3.3 - CL220544 --> Use XWJVI kernel

I9000 JPJV6 - 2.3.3 - CL233266 --> Use XWJVI kernel

I9000 XWJVK - 2.3.3 - CL264237 --> Use XWJVI kernel

I9000 XXJVP - 2.3.4 - CL264642 --> Use XXJVP kernel

I9000 XXJVQ - 2.3.4 - CL281085 --> Use XXJVQ kernel

I9000 BGJV5 - 2.3.3 - CL307695 --> Use XWJVN kernel

I9000 XWJVN - 2.3.3 - CL366455 --> Use XWJVN kernel

I9000 XFJV5 - 2.3.3 - CL375186 --> Use XWJVN kernel

I9000 BOJV9 - 2.3.3 - CL404614 --> Use XWJVN kernel

I9000 XXJVR - 2.3.4 - CL425308 --> Use XXJVR kernel

I9000 XWJVP - 2.3.3 - CL462342 --> Use XWJVP kernel

I9000 XFJV7 - 2.3.4 - CL499619 --> Use XXJVR kernel

I9000 XWJVQ - 2.3.4 - CL499619 --> Use XXJVR kernel

I9000 XXJVS - 2.3.5 - CL565837 --> Use XXJVS kernel

I9000 XWJVT - 2.3.4 - CL576823 --> Use XXJVR kernel

I9000 XXJVT - 2.3.5 - CL617736 --> Use XXJVT kernel

I9000 XFJVA - 2.3.5 - CL621561 --> Use XWJVU kernel

I9000 XWJVU - 2.3.5 - CL621561 --> Use XWJVU kernel

I9000 NEJVK - 2.3.5 - CL649158 --> Use XWJVU kernel

I9000 BVJVC - 2.3.5 - CL679241 --> Use XWJVU kernel

I9000 XWJVW - 2.3.6 - CL695261 --> Use XWJVW kernel

I9000 XWJVX - 2.3.6 - CL716737 --> Use XWJVX kernel

I9000 XWJVY - 2.3.6 - CL742884 --> Use XWJVY kernel

I9000 XWJVZ - 2.3.6 - CL762604 --> Use XWJVZ kernel

I9000 XWJW1 - 2.3.6 - CL788890 --> Use XWJW1 kernel

I9000 XXJVU - 2.3.6 - CL851880 --> Use XXJVU kernel

I9000 XXJW4 - 2.3.6 - CL1043937 --> Use XXJW4 kernel

I9000 XWJW5 - 2.3.6 - CL1045879 --> Use XWJW5 kernel

I9000 XWJW6 - 2.3.6 - CL1086604 --> Use XWJW6 kernel

I9000T DVJW1 - 2.3.6 - CL1124204 --> Use DVJW1 kernel

I9000 XWJW7 - 2.3.6 - CL1125830 --> Use XWJW7 kernel

I9000 XXJW6 - 2.3.6 - CL1148458 --> Use XXJW6 kernel

I9000 XWJW8 - 2.3.6 - CL1152999 --> Use XWJW8 kernel

List of Australian Builds (Oldest to Newest):

I9000 XWJVN - 2.3.3 - CL366455 --> Use XWJVN kernel

I9000 XWJVP - 2.3.3 - CL462342 --> Use XWJVP kernel

I9000T DVJV6 - 2.3.3 - CL530973 --> Use DVJV6 kernel

I9000 XWJW6 - 2.3.6 - CL1086604 --> Use XWJW6 kernel

I9000T DVJW1 - 2.3.6 - CL1124204 --> Use DVJW1 kernel

I9000 XWJW7 - 2.3.6 - CL1125830 --> Use XWJW7 kernel

I9000 XWJW8 - 2.3.6 - CL1152999 --> Use XWJW8 kernel

List of Asian Builds (Oldest to Newest):

I9000 DXJV9 - 2.3.3 - CL216763 --> Use XWJVI kernel

I9000 ZSJV6 - 2.3.3 - CL274597 --> Use XWJVI kernel

I9000 DDJV9 - 2.3.3 - CL312456 --> Use XWJVN kernel

How do I enable or disable Voodoo Lagfix?

Method 1: To control the status of lagfix, download Voodoo Control Plus.

Method 2: Use Recovery mode to disable and enable Voodoo Lagfix.

Method 3: On your internal sdcard is a folder called "Voodoo". Inside this folder, create a blank file called "enable-lagfix" to enable lagfix. Create a blank file called "disable lagfix" to disable lagfix.

I want to stay on the RFS filesystem with the Voodoo kernel, how do I do this?

Create a folder on your internal sdcard called "Voodoo" then create a blank file called "disable lagfix" inside this folder BEFORE flashing the kernel.

How do I obtain root with this kernel?

The su binary is already included and Superuser.apk is pre-installed. You don't need to install anything extra.

Root is also available by default for adb and in recovery mode also.

Is there Voodoo Color in this kernel?

Voodoo Color is not available in this kernel as Voodoo Color requires the kernel to be built from sources.

Is there Voodoo Sound in this kernel?

Voodoo Sound is not directly included, however Voodoo Sound can be added by installing Voodoo Control Plus. If you wish to use PayPal you can grab it from YAAM.

By purchasing Voodoo Control Plus you are supporting supercurio's brilliant work.

How do I make use of the CIFS support?

To use CIFS, install CIFS Manager.

Open CIFS Manager and go to Settings.

Tick Load CIFS Module

Tick Load via insmod

Tap on Path to cifs.ko and enter exactly the following:

/lib/modules/slow-work.ko:/lib/modules/cifs.ko

Exit the app and re-open it. You can start adding your shares.

How do I make use of the app zip aligner?

You need to be running at least version 1.1 of the Voodoo kernel.

On your internal sdcard is a folder called "Voodoo". Inside this folder, create a blank files accordingly:

"enable-zipalign-system" to enable zipalign on next boot for /system/app

"enable-zipalign-data" to enable zipalign on next boot for /data/app

These files are automatically removed by the zipalign script once the script has finished running so that it does not run on every boot, which would result in a slow boot for users with a large number of apps.

What are the MD5 hashes for and how do I check my download against the provided hash?

Download and install HashTab which is a shell extension that will tell you the hash of a file. Simply right click the file, go to Properties and then the File Hashes tab.

I'm coming from another custom kernel. Are there any catches I need to be aware of?

The general rule is, if you have any other lagfixes enabled, you need to disable them first before flashing the Voodoo kernel.

What are the limitations of the nandroid backup/restore functionality in CWM?

- Do NOT restore nandroid backups created using CWM 2.x, 3.x or 4.x. The format is different.

- You MUST disable Voodoo Lagfix (convert back to rfs filesystem) before creating a nandroid backup or restoring a nandroid backup. Do NOT backup/restore with lagfix on.

- Nandroid backups of the /system partition where the backed up partition had less than 15MB of free space will not restore completely, due to the way the rfs filesystem works. This should only affect restoring a backup of a stock ROM.