[Galaxy S I9000 Android Development] raspdeep:
Thanks to Leshak , AndSecTest, mimocan, Unhelpful, xan, Supercurio and husq510 for the help.

This project started based on information found here:

http://xdaforums.com/showthread.php?t=740514

But is has soon revolved into more fixes, patches and hacks. Thanks to all the developers involved and do buy them beers so they can continue to work on the fixes.

I've tested it to work on my phone but i cannot guarantee it will work on yours or if it will damage your phone so use it at your own risk. See known issues below if the problems have been resolved

Primary Features

- ext2/3/4

- Support I/O Scheduling for CFQ (stock), Noop, Deadline and Anticipatory

- Overclock and Undervolt support

- Overclocking for better performance. If you do not want to OC, use SetCPU to set Max at 1Ghz and enable checkbox Set on boot

- User defined Undervolt to save battery especially at lower frequencies. Use Xan's app for easy GUI control - here

- Also use Xan's app to change IO scheduling

- Rooted ADB shell for Android commander compatibility

Requirement

- i9000

- For Eclair 2.1 Only (Will not work on Froyo firmware)

My setup for cross compile without wakeup lag

- Use ct-ng crosstool

- Copy config file from arm-unknown-linux-gnueabi

Download

See attachment

Stock Kernels for reverting

Stock JM3 v3 kernel

Stock JM2 kernel

Stock XWJM5 kernel

Instructions:

- Extract the tar file from .7z

- Load tar file in PDA using ODIN and flash

- Do not check repartition and do not use pit file

- Use SetCPU to adjust frequencies

Reporting Problems

Please provide information below to help me understand:

kernel version: (eg oc120uv2-ctng)

UVLF setting (if kernel supports): (eg 50)

UVHF setting (if kernel supports): (eg 25)

descriptions:

Known Issues

- ondemand setting is unstable (need more verifications)

TO DO LIST

- BFS scheduling

- kernel modules (submit request)

Changelog

oc120_voodoo_b4.2

- enable CWM support even with voodoo ext4. Caveats: CWM will unmount /data after nandroid backup, you will not be able to remount /data in ext4 until you reboot back to recovery. Also, restore does not work when trying to restore /data.

- fixed check for debug_mode (it used to create logs in /sdcard/Voodoo/logs regardless if you enable*debug in /sdcard/Voodoo/)

oc120_voodoo_b4.1

- BLN patch v4 from neldar (http://xdaforums.com/showthread.php?t=772672)

- All credit goes to author

- Signed update.zip format so rename file to update.zip and copy to /sdcard

- use recovery to flash

oc120_voodoo_b4

- updated to voodoo b4 (http://project-voodoo.org) - please read Documentation/FAQ, if you have previous installed Voodoo Beta1, please uninstall before upgrading

- Excludes color patch for later release

- All lagfix credit included in this build goes to Supercurio, please buy him a beer or two so he can continue on working on the project

oc120_voodoo_b3.1

- fixed init.d not working

oc120_voodoo_b3

- remove performance governor from startup cos i9000 dont need that

- added init.d support

oc120_voodoo_b2

- Use stock GPU ~200mhz table

- Voodoo2 lagfix (http://project-voodoo.org) - please read Documentation/FAQ, if you have previous installed Voodoo Beta1, please uninstall before upgrading

- Excludes color patch for later release

- All lagfix credit included in this build goes to Supercurio, please buy him a beer or two so he can continue on working on the project

oc120uv2

- Unhelpful patch for GPU table (http://github.com/Unhelpful/linux-galaxy/commit/5a729d3e2189159a20b00e0c331f0b112490e075)

- Interactive governor (http://github.com/Unhelpful/linux-galaxy/commit/aea72a98a2f261901d6f28f2d1deae3921d35948)

- user configurable UV settings (default value = 0 for UVLF and UVHF) for conservative governor only

- /sys/devices/system/cpu/cpu0/cpufreq/conservative/UVLF_mV (for 100-800mhz)

- /sys/devices/system/cpu/cpu0/cpufreq/conservative/UVHF_mV (above 800mhz)

- for example # echo 50 > /sys/devices/system/cpu/cpu0/cpufreq/conservative/UVLF_mV (will UV by 50mV for 100-800mhz)

- for example # echo 50 > /sys/devices/system/cpu/cpu0/cpufreq/conservative/UVHF_mV (will UV by 50mV for 1-1.2ghz)

- Setting increment of 25 (eg 25,50,75,100). Anything out range may hang

- Anything above 100 will be set to 100 (but I doubt you can get 100mV without crashing)

- After setting, do ur benchmarks and if everything is stable, you can add the command above into your init script depending which lagfix you have, add into your script.