[KERNEL][I9000] Voodoo Galaxy S Gingerbread Kernel - JVY/JVZ/JW1/JW4/JW5/JW6/JW7/JW8

Search This thread

madrooster

Senior Member
Apr 13, 2011
78
135
Sydney
Supercurio indicated he wished to concentrate on other projects he's been working on and so I have his approval to continue maintaining the Gingerbread kernels he started initially in this thread.

These are stock kernels with hacks and is not a kernel rebuilt from sources at this stage. Tested flashing from stock ROM/stock kernel only.

A change log can be found in the FAQ section (post #2).

PLEASE READ THE FAQ SECTION IN POST #2 BEFORE POSTING A QUESTION.

Features:

- Voodoo Lagfix
- su binary installed in /system/xbin
- Chainfire's SuperSU v0.98 installed in /data/app
- Clockworkmod Recovery 5.0.2.6 with Voodoo Lagfix menu
- CIFS support, loadable with insmod
- Tuned low memory killer
- adb in recovery mode
- adb running as root by default
- busybox 1.18.5 installed in /bin
- tun.ko support built in by Samsung
- Optional zip align script for /system/app and /data/app
- 364MB RAM for XXJW4, XWJW5, XWJW6, DVJW1, XWJW7 and XWJW8 builds

Models Supported:

I9000 - Supported
I9000T - Supported
I9000M - Supported
I9000B - NOT supported

Current Downloads for Odin Flashing

Last Updated: 27th November 2012
Kernel Version: 1.4

Check the downloaded zip file's MD5 hash against the relevant hash listed in the MD5 hashes file linked below.
Unzip the zip file to get the .tar.md5 file to flash with Odin.
Flash it in the PDA slot in Odin.

MD5 Hashes
Odin v3.07
Samsung USB Drivers for Odin, ADB etc.

IMPORTANT: Please note the nandroid limitation as detailed in the last question in the FAQ post.

Gingerbread 2.3.3 Kernel v1.4 - I9000 XXJVO
Gingerbread 2.3.3 Kernel v1.4 - I9000 XWJVH
Gingerbread 2.3.3 Kernel v1.4 - I9000 XWJVI
Gingerbread 2.3.3 Kernel v1.4 - I9000 XWJVN
Gingerbread 2.3.3 Kernel v1.4 - I9000 XWJVP
Gingerbread 2.3.3 Kernel v1.4 - I9000T DVJV6

Gingerbread 2.3.4 Kernel v1.4 - I9000 XXJVP
Gingerbread 2.3.4 Kernel v1.4 - I9000 XXJVQ
Gingerbread 2.3.4 Kernel v1.4 - I9000 XXJVR

Gingerbread 2.3.5 Kernel v1.4 - I9000 XXJVS
Gingerbread 2.3.5 Kernel v1.4 - I9000 XXJVT
Gingerbread 2.3.5 Kernel v1.4 - I9000 XWJVU

Gingerbread 2.3.6 Kernel v1.4 - I9000 XWJVW
Gingerbread 2.3.6 Kernel v1.4 - I9000 XWJVX
Gingerbread 2.3.6 Kernel v1.4 - I9000 XWJVY
Gingerbread 2.3.6 Kernel v1.4 - I9000 XWJVZ
Gingerbread 2.3.6 Kernel v1.4 - I9000 XWJW1
Gingerbread 2.3.6 Kernel v1.4 - I9000 XXJVU
Gingerbread 2.3.6 Kernel v1.4 - I9000 XXJW4 - 364MB RAM
Gingerbread 2.3.6 Kernel v1.4 - I9000 XWJW5 - 364MB RAM
Gingerbread 2.3.6 Kernel v1.4 - I9000 XWJW6 - 364MB RAM
Gingerbread 2.3.6 Kernel v1.4 - I9000T DVJW1 - 364MB RAM
Gingerbread 2.3.6 Kernel v1.4 - I9000 XWJW7 - 364MB RAM
Gingerbread 2.3.6 Kernel v1.4 - I9000 XXJW6 - 364MB RAM
Gingerbread 2.3.6 Kernel v1.4 - I9000 XWJW8 - 364MB RAM

Current Downloads for CWM Flashing

Last Updated: 27th November 2012
Kernel Version: 1.4

This method is only for users that already have CWM recovery. Stock kernel users must use the Odin method above.

Check the downloaded zip file's MD5 hash against the relevant hash listed in the MD5 hashes file linked below.
Copy the zip onto your internal sdcard.
Boot into CWM recovery.
Use the install update from zip option.

MD5 Hashes
Samsung USB Drivers for Odin, ADB etc.

IMPORTANT: Please note the nandroid limitation as detailed in the last question in the FAQ post.

Gingerbread 2.3.3 Kernel v1.4 - I9000 XXJVO
Gingerbread 2.3.3 Kernel v1.4 - I9000 XWJVH
Gingerbread 2.3.3 Kernel v1.4 - I9000 XWJVI
Gingerbread 2.3.3 Kernel v1.4 - I9000 XWJVN
Gingerbread 2.3.3 Kernel v1.4 - I9000 XWJVP
Gingerbread 2.3.3 Kernel v1.4 - I9000T DVJV6

Gingerbread 2.3.4 Kernel v1.4 - I9000 XXJVP
Gingerbread 2.3.4 Kernel v1.4 - I9000 XXJVQ
Gingerbread 2.3.4 Kernel v1.4 - I9000 XXJVR

Gingerbread 2.3.5 Kernel v1.4 - I9000 XXJVS
Gingerbread 2.3.5 Kernel v1.4 - I9000 XXJVT
Gingerbread 2.3.5 Kernel v1.4 - I9000 XWJVU

Gingerbread 2.3.6 Kernel v1.4 - I9000 XWJVW
Gingerbread 2.3.6 Kernel v1.4 - I9000 XWJVX
Gingerbread 2.3.6 Kernel v1.4 - I9000 XWJVY
Gingerbread 2.3.6 Kernel v1.4 - I9000 XWJVZ
Gingerbread 2.3.6 Kernel v1.4 - I9000 XWJW1
Gingerbread 2.3.6 Kernel v1.4 - I9000 XXJVU
Gingerbread 2.3.6 Kernel v1.4 - I9000 XXJW4 - 364MB RAM
Gingerbread 2.3.6 Kernel v1.4 - I9000 XWJW5 - 364MB RAM
Gingerbread 2.3.6 Kernel v1.4 - I9000 XWJW6 - 364MB RAM
Gingerbread 2.3.6 Kernel v1.4 - I9000T DVJW1 - 364MB RAM
Gingerbread 2.3.6 Kernel v1.4 - I9000 XWJW7 - 364MB RAM
Gingerbread 2.3.6 Kernel v1.4 - I9000 XXJW6 - 364MB RAM
Gingerbread 2.3.6 Kernel v1.4 - I9000 XWJW8 - 364MB RAM

Sources For Developers

Last Updated: 27th November 2012
Sources Version: 1.4

MD5 Hashes

Initramfs - 2.3.3 - I9000T DVJV6
Initramfs - 2.3.3 - I9000 XWJVH
Initramfs - 2.3.3 - I9000 XWJVI
Initramfs - 2.3.3 - I9000 XWJVN
Initramfs - 2.3.3 - I9000 XWJVP
Initramfs - 2.3.3 - I9000 XXJVO

Initramfs - 2.3.4 - I9000 XXJVP
Initramfs - 2.3.4 - I9000 XXJVQ
Initramfs - 2.3.4 - I9000 XXJVR

Initramfs - 2.3.5 - I9000 XXJVS
Initramfs - 2.3.5 - I9000 XXJVT
Initramfs - 2.3.5 - I9000 XWJVU

Initramfs - 2.3.6 - I9000 XWJVW
Initramfs - 2.3.6 - I9000 XWJVX
Initramfs - 2.3.6 - I9000 XWJVY
Initramfs - 2.3.6 - I9000 XWJVZ
Initramfs - 2.3.6 - I9000 XWJW1
Initramfs - 2.3.6 - I9000 XXJVU
Initramfs - 2.3.6 - I9000 XXJW4
Initramfs - 2.3.6 - I9000 XWJW5
Initramfs - 2.3.6 - I9000 XWJW6
Initramfs - 2.3.6 - I9000T DVJW1
Initramfs - 2.3.6 - I9000 XWJW7
Initramfs - 2.3.6 - I9000 XXJW6
Initramfs - 2.3.6 - I9000 XWJW8

CWM 3.0.2.8 source with patch
CWM 4.0.1.4 source with patch
CWM 5.0.2.6 source with patch

Samsung Kernel Source (2.3.4)

Voodoo Lagfix

IRC Chat

Come here: #project-voodoo on IRC/freenode network - 50% general, 50% dev.

Like this kernel?

Hit the Thanks button!
 
Last edited:

madrooster

Senior Member
Apr 13, 2011
78
135
Sydney
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.
 
Last edited:

madrooster

Senior Member
Apr 13, 2011
78
135
Sydney
XXJVR odexed from semaphore kernel flashed this and it wont boot :(

I would suspect there is an incompatibility here - these kernels have been tested on stock ROMs coming from stock kernels.

Are you able to get into CWM? If you can, use adb to pull the /voodoo/logs folder, zip it up and attach it to your post so I can take a look into it.

Do you have anything in /system/etc/init.d ?

Edit: re-download the kernel, I fixed something very minor

Can u try implement JFS lagfix too ? Thanks

Sent from my GT-I9000 using XDA App

JFS isn't all that popular- I may look at it later down the track but for the time being this is strictly a continuation of supercurio's work.
 
Last edited:

cantIntoCode

Retired Recognized Developer
Aug 29, 2010
1,629
2,564
Glasgow
Awesome! I love voodoo kernels, seems you've taken the extra step to really show how to make things shine! Well done!
 

nedooo

Senior Member
Dec 26, 2010
1,787
377
Sarajevo
I would suspect there is an incompatibility here - these kernels have been tested on stock ROMs coming from stock kernels.

Are you able to get into CWM? If you can, use adb to pull the /voodoo/logs folder, zip it up and attach it to your post so I can take a look into it.

Do you have anything in /system/etc/init.d ?

Edit: re-download the kernel, I fixed something very minor



JFS isn't all that popular- I may look at it later down the track but for the time being this is strictly a continuation of supercurio's work.

Yes I could go to CWM, and I dont have init.d folder at all ;)
Now it's ok :)
Could you add voodoo color so that user can calibrate color, thanks.
It's buttery smooth, on pair with Semaphore kernel.
 

madrooster

Senior Member
Apr 13, 2011
78
135
Sydney
Voodoo color needs to be patched into the source and would require I re-base the kernel and build from sources. I will eventually look at moving to sources but there is a lot of work involved in doing that. I'm tight on time at the moment also so it'll depend on what free time I can throw at it.

Other I9000 owners - I am happy to look at building Voodoo kernels based on other kernels (ie. non generic Europe), if there is enough demand for it. Same applies to I9000T and I9000M models. Please post if you are interested in one as well as what kernel.
 
Last edited:

jvidia

Senior Member
Jun 1, 2011
902
102
Lisbon
What's the main diference/benefit to flash this vs for instance the CF-root kernel ?

Sorry for my ignorance ;)
 

pikachu01

Senior Member
Feb 2, 2011
7,314
4,482
Penang
What's the main diference/benefit to flash this vs for instance the CF-root kernel ?

Sorry for my ignorance ;)
Both are essentially doing the same thing:
-CWM
-Root
-Busybox
-Lagfix (Ext4 conversion).

The mechanism however and the methodology for lagfix though is different and different CWM versions. This having a more recent version.
 

currydude

Inactive Recognized Developer
Oct 7, 2010
2,607
653
Sydney
I'm getting excellent battery life with this kernel! Keep up the great work :) And finally, no more RAM/memory leakage.
 

kunjar

Senior Member
Nov 25, 2010
215
41
Flashed JVR stock as posted by Ramad, then flashed JVR Voodoo kernel using odin. My phone is like a rocket. Works solid indeed. Definitely notice a huge improvement even though the newer firmware's released by Samsung are much quicker. Browsing through the market is no longer laggy, can browse flash-heavy websites, Asphalt 6 loads quicker, controls respond much better, .etc

Coupled with Voodoo control plus my dead SGS feels like a brand new piece of hardware.

Thanks bro.
 
  • Like
Reactions: marib.alam

Top Liked Posts