[Galaxy S I9000 Android Development] renaud:
Included in the image are:

- Superuser

- own busybox 1.18.4

- TUN support

- No more RFS at all (if you want)

- JVB source based

- CWM 3.0.0.5

- security fixes

- low latency

- filesystems: jfs, ext2/3/4 (using ext4 driver), reiserfs, rfs (not on Ultra)

- CIFS support

- Voodoo SoundV10

- Voodoo color (sharpness fix)

- BLN (enabled by default)

- Preemptive RCU (only on Ultra)

- 10 fingers support (on roms that support it)

It has been tested on JVB/JVH/JVO/JV9

Read the whole post (except the changelog) before attempting to install

Thanks to Neldar for BLN

Thanks to Supercurio for voodoo additions

Thanks to zurchpet and js8 for dedicated testing

Thanks to Andro1d for ideas

Thanks to mothatt for the vectorized picture

Thanks to virnik for the new boot logo

For safety purposes /dev/block/stl3 is not mounted anymore but /efs is copied to /dbdata.

Quick table on the versions:

Two branches: Stable (which is stable) and Bleeding Edge (includes latest changes, in testing, consult the changelog)

Two versions in each branch: Normal (without preemptive RCU) and Ultra (with preemptive RCU)

Video

http://www.youtube.com/watch?v=mO-MiKVAzD8

You must flash a normal kernel before Ultra or you will not have phone/modem

Ultra does NOT support RFS filesystem

This kernel can now also be flashed from DOC rom in http://romkitchen.org thanks to Stefunel, choose a non wipe rom.

You can get it at . Normal version is named zImage-rXXX and Ultra is named zImage-ultra-rXXX.

Logs are in /fugumod.log

You can get support on #romkitchen on irc.freenode.net

Unless some unexpected changes occur, I am not going to produce any overclocked kernel anytime in the future as they have proven multiple times to be too unstable.

- All versions are upgradeable to the latest one without any data loss.

- You must have at least 400Mb free on your internal SD card storage for conversions. If you don't have any apps installed. If you have apps already installed, you must ensure that you have at least the same size as you data storage free on the sdcard. Note that upgrades don't really need space on your external storage.

- It is only known to work with international GT-I9000 and the Bell 9000M.

- The cleanest way to revert the mod is to reflash a complete ROM. But now supports reverting to RFS as well.

- If you use another custom kernel, you don't need anymore to revert the lagfix before applying. But it is always a good idea to start from a clean ROM.

Locale/timezone reset when using some filesystems

Some people may see that time zone sometimes reset at boot or even language reset, the easy solution is to edit /system/default.prop with something like:

Chances are that those settings are not in your /system/default.prop, it is safe to append them after the already defined ones.

See [url]http://en.wikipedia.org/wiki/List_of_zoneinfo_timezones for your timezone

How to convert filesystems:

Use FuguApp or FuguAppFree or create a /sdcard/fugumod/fs.convert file. If you don't see the paid version in the market and only see the free one, it may be due to your ROM build prop, just change it with SGS tools (in SGS tools -> prop editor -> build.prop -> Unlock -> ro.build.fingerprint=samsung/GT-I9000/GT-I9000:2.3.3/GINGERBREAD/XWJVB:user/release-keys and leave the rest as is. save, Apply script -> clear market cache, reboot...)

You can also create a /sdcard/fugumod/fs.convert which has the same syntax as /sdcard/fugumod/fs.current

How to specify custom filesystem mount options:

Create a file called /sdcard/fugumod/fs.options

It should contain the FS options like shown below (not specify a fs is equivalent to no option). Options "noexec nodiratime nosuid nodev nosuid" are "enforced".

Root bug with some applications:

Some applications don't properly detect if the phone is rooted, generally because they expect su to be in /system/xbin

Solution: type the following commands as root using adb shell or connectbot or any other shell console:

What is Ultra version

Ultra version is a version with a preemptive RCU which brings an impressive user experience by having a near realtime response. Interestingly, it also seem to boost quadrant scores by ~15%.

Bleeding Edge can be found here

But it is not compatible with RFS filesystem, so don't flash if

- you still use RFS in any of /system, /data, /dbdata , /cache

- you haven't at last booted once a normal FuguMod edition

- you don't have basic skills of recovering from soft bricking (generally, flashing a normal edition will solve soft brick with Ultra)

Start adbd as root

If you want to start adbd as root and in recovery, you need to create a file called /sdcard/fugumod/debug

The change will only take place on next reboot.

Why is quadrant score so low ~1000 in ext4 but I still feel my phone is really fast?

- Quadrant does no measure latency, but user does it. You could have a completely unresponsive phone with very high quadrant score.

- I use safe mounts for ext4, but if you feel brave enough, you can tweak them using fs.options explained earlier or switch to JFS.

- Some ROMs/kernels set "media.stagefright.enable-player=true" in build.prop, in general this will give you 500+ supplementary quadrant score but but will break playing some videos. This won't make your phone faster or more responsive or whatever, it will only boost your quadrant score and break some videos.

Which filesystem is the best?

This all depends on your perception. I general, having /system on reiserfs and all others on jfs seems to be the fastest.

Random reboots

They are known to happen if:

- you force switch the radio band for example using "band selection" in diagnostic menu from wcdma 1900/2100 to 850 or 900 gsm.

Wifi not working

If your wifi is not working anymore, you probably use a JVH based ROM and have restored your wifi settings via titanium backup (or possibly other backup utilities). Wifi configuration from pre-JVH is not compatible with JVH ROMs. You should be able to restore without reflashing a full ROM by stopping wifi, then doing the following commands in a root shell.

And enable wifi again

WARNING: This may brick your phone, kill your cat or destroy your house (although in theory it should not).

If you like it, remember there are donations which may help me getting a development phone ;)

Repository: http://github.com/renaudallard

Source of other GPL utilities I use: http://faramir.eriador.org/r/

Download

http://faramir.eriador.org/r/Samsung_galaxys/, it is called zImage-rXXX or zImage-ultra-rXXX. Bigger XXX number means it's the most recent version.

Changelog:

https://github.com/renaudallard/kernel-GB-GTI9000/commits/fugumod