[Galaxy S I9000 Android Development] sztupy:
Development continues here: http://xdaforums.com/showthread.php?t=881837

Universal lagfix kernel project.

This project is aimed at multiple audiences.

If you think you're an end user read on.

For lagfix and kernel developers check the second post.

Download, changelog, bugs and other links can be found at the third post.

Credits

ChainFire for the original cf-root initramfs

hardcore for the speedup hacks

nikademus for the compiled jfs utils

neldar for BackLightNotification

newmail for some kernel modules

RyanZA for OCLF and for being helpful

supercurio for Voodoo

ykk_five for being helpful (and for the memory tweaks)

z4ziggy for z4mod

and for everyone else I might have missed. (like myself - I'm an egoist you know... and for all the people that helped the guys I credited above. And for the people who helped the guys that helped the guys credited above. And for XDA of course.)

If you only care about points

OhmygodIcanget2kpointsatquadranttoobadI'vealreadysoldSGSbecauseitonlyhas300MBraminsteadof512asadvertisedandboughtadesirebecauseilikehowitcrapsatmultitouch.

For the rest of the people

What is this about?

This project has multiple aims:

A JPM based kernel with ext4, jfs, tun and BLN support

An init script which supports multiple lagfix schemes

Init.d support (without early script support)

A modified ClockWorkMod that

Has better support for some features of the SGS-I9000

Includes support for rooting the device

Includes support for switching the lagfix schemes

Has some tweaking options

Various additions that might help the other lagfix/kernel developers

How does this work?

Simply flash the kernel to any JPM/JP6 based, unlagfixed ROM. By default it won't apply any lagfix scheme, so you might use it as a simple ROM, with built in ClockworkMod + rooting support. If you have a complete ROM package (with dbdata.rfs and an older csc file (it won't work with some of the newer csc files) ) you can also flash it with the other parts, just replace the zImage in the PDA.tar with the one supplied. The ROM was tested with the original JP6 and JPM ROMs, and with my Multinational 3.0 ROM.

How can I use the extra features?

Reboot your phone to recovery mode. Under "Advanced ULK", there are some new options:

Reboot to download: switches to download mode

Run 2e recovery: Switches to 2e recovery

Install superuser: installs busybox and superuser to the phone

Lagfix options: switch between various lagfix schemes

Tweak options: switch between various startup tweaks

BLN options: Turns BackLightNotification on or off

Reset permissions: Resets permissions to the same state as init does

What are the lagfix schemes?

They are ways on how to format and bind the various filesystems. You can chose how you want to format the partitions (data,dbdata and cache), whether you want to use an extra loop device or not, and whether you want to bind some directories from /data to /dbdata.

There are also 8 included pre-defined schemes:

OCLF: /data stays at rfs, but has an ext2 loop device on top of it

Voodoo: /data is ext4, all others are kept at rfs

JFS Voodoo: /data is jfs, all others are still rfs

No-RFS Standard: /data is rfs+ext2, all other partitions are ext4

No-RFS Advanced: all partitions are ext4

No-RFS Advanced JFS: all partitions are jfs

No-RFS Overkill: turns on all options: everything is ext4+ext2 and /data/data is bound to /dbdata

No-RFS Overkill JFS: turns on all options: everything is jfs+ext2 and /data/data is bound to /dbdata

(If using the overkill scheme using the bind option is dangerous if using too much apps, so you should disable it in the advanced menu.)

Although I used the names OCLF and Voodoo, the ROM is not compatible with any of them, it's just a naming convention I used. Hope RyanZA and supercurio won't mind :)

Which one should I use?

You decide. OCLF or Voodoo might seem simple but they are actually working great (but for those you can actually use the originals, they are probably much more stable), while NO-RFS Overkill might seem cool, it is clearly an overkill.

What happens after I chose a lagfix scheme?

If the chosen one is different from the active one the kernel will reformat your device the next start. Before reformatting it will create a nandroid backup, reformats the device then restores the data from your backup.

Is this ROM safe

alpha 0.2 means no. Switching between lagfix schemes might break, and data loss (mostly database corruption) can happen if you're using a lot of loop devices. And this kernel isn't thorougly tested anyway.

How to switch to another kernel/ROM

After disabling the lagfix everything should be fine (except for the possible data corruption). You can always flash another complete ROM package over this using Odin, you'll lose all your data however.

I've found a bug

And you'll find more of them. I'll try to collect them and answers to them at post #3