[KERNEL][HYBRID]G3MOD v2.5

g3mod

Senior Member
Sep 7, 2011
57
433
0
9

G3MOD TEAM

Founder
dharamg3

Kernel Developers
hillbeast , moikop , cool.darshak

Application Developers
dympy , andreapier

ROM/Theme Developers
Stylooo , RafayelG , aarrun

Kernel Features:
  • Non-OC Version: 83MHz - 667MHz
  • OC Version: 83MHz - 1200MHz
  • RootADB
  • Busybox 1.19
  • File System Support: rfs/ext2/ext3/ext4
  • Init.d Scripts
  • 1% Battery Mod
  • OverClocking
  • UnderVolt
  • data2sd
  • BFQ I/O Scheduler
  • Voodoo v10
  • CWM Touch Recovery
  • Configurable CompCache
  • BootLogo
  • TinyRCU
  • MultiBoot
  • Kernel Hz: (Non-OC: 250, OC: 500)
  • tun.ko
  • 100MHz CPU clock stepping
  • DMA Enabled in G3D
  • Dynamic OC
  • Hybrid kernel (supports every firmware for Galaxy 3)
  • Hybrid Data2SD
  • Multi Data
  • NTFS read-only support (but no auto mounting SD card yet)
  • BLN Support. (Thanks to marcellusbe)
  • JFS and HFS+ support

CWM Features:

1) Reboot

2) Extended Power Menu
1.1) Power Off
1.2) Reboot
1.3) Reboot Recovery
1.4) Download

3) Update.zip's
3.1) Update.zip from sdcard Root
3.2) Select .zip from sdcard
3.3) Toggle Signature Verification
3.4) Toggle Script Asserts

4) Multiboot
4.1) Switch ROM's
4.2) Backup ROM
4.3) Switch Kernel's :D

5) Data / Factory Reset

6) Wipe
6.1) Data / Factory Reset
6.2) Cache
6.3) Wipe dalvik cache
6.4) Wipe Battery Stats

7) Backup and Restore
7.1) Backup
7.2) Restore
7.3) Advanced Backup 7.3.1) Boot 7.3.2) System 7.3.3) Data 7.3.4) Cache 7.3.5) sd-ext
7.4) Advanced Restore 7.4.1) Boot 7.4.2) System 7.4.3) Data 7.4.4) Cache 7.4.5) sd-ext

8) Mounts And Storage

9) Advanced
 
Last edited:

g3mod

Senior Member
Sep 7, 2011
57
433
0
9
Kernel Downloads:

http://code.google.com/p/g3modteam/downloads/list

Kernel Changelog:

v2.5 (15/05/2012
  • Supports CM7a8.1
  • Supports ICS (if colours are screwy, update OpenFIMG)
  • CWM5 with touch
  • General source code fixes

v2.4.1 (23/02/2012)]
  • CM7 A7 support!
  • Fixed filesystem covertion system.
  • Lagfree governor properly implemented.
  • Added BLN support.
  • Fixed wifi for CM7 (Thanks to Arakmar).



v2.3 (15/12/2011)
  • Hybrid initramfs: Added support for ICS-based roms.
  • Multiboot: Fixed dalvik-cache restoring.
  • Multiboot: Added support for backing up android_secure.
  • AOSP Proximity sensor support added.
  • Initramfs: Optimized init.rc files and added usb.rc file.
  • MAX8998 Driver: Removed led blinking support since it isn't being used anymore.

v2.2.2 (21/11/2011)
  • Went back to old BLN system, this seems to work fine.
  • New NON-OC Kernel Hz: 250.
  • Should have a better battery backup :)

v2.2.1 (16/11/2011)
  • JFS Utilities permission fixed.
  • BLN System fixed.

v2.2 (15/11/2011)
  • Support for new BLN system.
  • Optimized SIO Scheduler for flash devices.
  • Added JFS Utilities (forgotten in the previous release).
  • Dropped OC+ version support.
v2.1 (09/11/2011)
  • Lagfree Governor.
  • 83Mhz steps for Non-OC and OC+ version
  • Lowmemorykiller.c tweak.
  • Reverted ondemand performance tweak.
  • Updated BFQ I/O Scheduler to v2.1r1.
  • Data2SD tweak: Improved IO Performance for non-Data2SD users and fixed *incompatibility* with Kyrillos's App2SD script.
  • Added Hybrid Data2SD internal System cache.
  • Compcache is now configurable.
  • Fixed battery drain problem.
  • BLN Support. (Thanks to marcellusbe)
  • Removed InteractiveX governor due to problems.
  • JFS and HFS+ support.

v2.0 (02/10/2011)
  • Hybrid kernel (supports every firmware for Galaxy 3 (except Eclair))
  • CM6.2 and CM7 Support (obviously but it must be said twice)
  • Adjusted battery driver (more accurate)
  • 83MHz minimum on OC kernel
  • Hybrid Data2SD
  • Multi Data
  • Compcache toggleable
  • InteractiveX CPU frequency mode
  • SIO scheduler
  • MD5 hash disabled on nandroid
  • More stable at idle
  • Reduced power drain at idle
  • jhash3 removed as it increased power drain.

v1.9 (09/09/2011)
  • tun.ko included and enabled
  • 100MHz CPU clock steppings: you can now set your speed to anything between 100 and 1400MHz in 100MHz step (100, 200, 300...)
  • CPU minimum frequency now 100MHz on Performance, Ultimate and Extreme
  • jhash3 for improved HSDPA/3G/EDGE speeds.
  • Multiboot improved for data backup and recovery
  • Added Reboot and Wipe Data/Dalvik Cache to main menu of CWM.
  • DMA enabled in G3D - Thanks marcellusbe
  • Added InDroid and CM7 to Multiboot

v1.8 [30/08/2011]
  • Reworked Battery Driver
  • Reworked CWM Recovery
  • Now 11 ROM's support in Multiboot

v1.7 [15/08/2011]
  • Multi Boot
  • Power off Option in CWM
  • Dynamic OC (ability to change the maximum freq)
  • Modify the max_blk_count value to prevent overflow.(sdcard related)
  • mmc: core: Fix dereferencing after NULL check (sdcard related)
  • Lower vfs_cache_pressure 100->25.
  • ARM: fix some sparse errors in generic ARM code
  • lib: Improve the performance of memcpy and memmove of the general version
  • lib: Introduce some memory copy macros and functions
  • ashmem: fix deadlock when system is low on memory

v1.6 [11/08/2011]
  • Batter Driver Back to Original - Only Change is added Compensation for Data On
  • Stable OC
  • UV Works for All Frequencies - Can be checked via dmesg
  • Removed SavagedZen and SmartAss for now.Giving Problems. Will come back in future versions.
  • SDCard Partitioning Problem Solved - Ext3 partitioning for mmcblk0p2 - Can be converted to Ext4 Using g3mod app.
  • Kernel Flashing via CWM Recovery Working
  • Kernel Hz: Lite:256 Performance:300 Ultimate:500 Extreme: 1000
  • Noop I/O Scheduler by default
  • Fixed Typo in Bootlogo

v1.5 [05/08/2011]
  • CompCache
  • BootLogo
  • TinyRCU
  • Battery Driver Reworked - Please test and give feedback

v1.4 - 31/7/2011
  • CWM Recovery In Kernel
  • Fixed CPU Freq Driver. SetCPU now shows properly.
  • UV working properly now.Can Be Checked in dmesg.
  • A 1300MHz freq Step in Extreme Version for those who want 1300MHz overclocking.
  • Changed Kernel Hz to 300 for Better Battery Backup.

v1.3.4 - 27/7/2011
  • Overclocking Stable (Less freezes) - To Test
  • BFQ I/O Scheduler - http://algo.ing.unimo.it/people/paolo/disk_sched/
  • Extreme Version Screen Off Bug Solved
  • No OC bus for any versions - (For those who want OC Bus, please use v1.3.0 for the moment. I will try to make OC bus in some better manner)

v1.3.3 - 25/7/2011
  • 5 Touch Mod
  • Removed RAM Optimization Script
  • Overclocking Stable (Less freezes) - To Test
  • Solved Bug which showed wrong freq in SetCPU and PimpMyCPU
  • Solved Time In State for SetCPU
  • Extreme Version has OC Bus 200MHz
 
Last edited:

g3mod

Senior Member
Sep 7, 2011
57
433
0
9
Frequently Asked Questions

For NOOBS

Q) How to flash the kernel
A) Just apply update.zip from Recovery or flash tar file using ODIN.

Q) Will i lose my data if i flash kernel?
A) No, you wont lose any data nor do you have to wipe data or cache.

Q) Does my battery need to be 100% to flash?
A) Not at all

Q)Flashed CM 6.2 Kernel on Froyo Rom and WIFI doesnt work?
A) There are two versions of Kernel. One is for Froyo Rom and other is for CyanogenMod Rom 6.2 (CM 6.2). if you are on Froyo rom and flash CM 6.2 then your wifi wont work and vice versa.

Q) 1400 Mhz (Extreme version) doesnt work for me
A) Not all Galaxy 3 suppport overclocking as high as 1400 Mhz. If it doesnt work then keep frequency lower or flash Ultimate, Performance or Lite version

Q) What does this data2sd in g3mod do?
A) data2sd is method by which all your /data partition goes to your sdcard thus giving you more space for downloading apps. Its suggested to use data2sd only if your sdcard class is higher than Class 6

Q) Internel Memory shows 0kb
A) Check if you have fs.data2sd at this location /sdcard/Android/data/g3mod/ If yes then delete it or else your sd card doesnt have sd-ext partition

Q) How can i go to recovery mode
A) Press MENU+VOLUME UP+VOLUME DOWN+POWER button and bingo!!!

Q) Should i use multi boot even if i am having 2 gb card class 2 ?
A) Sd card with any class can use multiboot

Q) Data Wipe Necessary When Switching Between CM and Froyo ?
A) Yes data wipe is necessary for switching roms between CM and Froyo. But we have given option to Backup data also in recovery.

Q) My APP is not working after Flashing KERNEL
A) Its not a kernel problem

Q) What is tun.ko?
A) It is basically used to setup Open VPN connections

Q) What is jhash3?
A) jhash3 improves the HSDPA/3G/EDGE speed

For Advanced users

Q1) Battery is draining fast?
A) After flashing the kernel please calibrate your battery or else let 3-4 full battery cycles pass.

Q2) Which profiles should i use?
A) Lets take example that you are using Ultimate kernel. Keep the governor ondemand (Like every good boyfriend fulfills all demands of his girlfriend ondemand governor does the same for your CPU :D).
Make profiles:-
1) Time Profile - 12 am to 6.00 am Freq 100 Mhz to 400 Mhz Priority 100
2) Screen Off - Freq 100 Mhz to 600 Mhz Priority 95

Q3) What are advanced settings in the SetCPU mean?
A) Sampling rate is rate at which the frequency of your CPU changes. Up Threshold is limit at which CPU will change freq on load (Scales Up). Down Threshold (conservative only) is limit at which CPU will change freq on load (Scales Down). Powersave bias is used for saving the power of CPU, it will slow down the CPU and affect the performance also 200 in powersave bias mean 20%...250 means 25% and so on.

Q4) I want performance and also good battery what profiles should be i use?
A) Refer to Q2 for Profiles Set up and now go in Advanced tab and Keep Sampling Rate 10000 or 15000. Upper Threshold to 90 and Powersave bias to 200 (20%). Since we are using powersave bias, this will affect the performance as it slows down the CPU so to increase the performance we are lowering the Sampling rate thus we get perfect balance of Performance and good battery backup.

NOTE: ABOVE SETTINGS ARE JUST EXAMPLE..PLEASE PLAY AROUND AND CHOOSE SETTINGS WHICH SUITS YOU THE BEST
 
Last edited:

g3mod

Senior Member
Sep 7, 2011
57
433
0
9
Donations:

If you want to donate to the team as a whole, please divide the amount and donate separately to each member. Sorry for the trouble caused. :)
Thank You for considering to donate. :)

dharamg3 -

hillbeast -

moikop -

cool.darshak -
 
Last edited:

g3mod

Senior Member
Sep 7, 2011
57
433
0
9
Steps for Multi boot:

1) Flash Kernel v1.7+
2) Go to CWM Recovery -> Multiboot -> Backup ROM.
3) Backup your Current ROM to ROM1 (It will backup the system.img at /sdcard/Android/data/g3mod/roms/romname_ROM )
4) Add the system.img of your 2nd ROM to /sdcard/Android/data/g3mod/roms/romname_ROM and similarly for different ROM's.
5) Use the CWM Recovery -> Multiboot -> Switch ROM option to switch between different ROM's.
6) If switching between Froyo ROM and CM6.2 RoM, you will need to wipe data and also change kernel's via update.zip method.
7) Use the data backup and restore option to prevent loss of data when switching between Froyo and CM6.2 ROM's.
Note: Ask the developer of the ROM's to provide you with the system.img for their ROM

How to use Hybrid Data2SD

1) Connect your phone via ADB
2) Go into adb shell
3) Type 'echo hybrid > /sdcard/Android/data/g3mod/fs.data2sd'
4) Create a text document in Notepad with a list of all the directories you wish to move. Example:
Code:
app
log
dalvik-cache
---LEAVE A BLANK LINE AT THE END---
5) Save the file and call it 'data2sd.dirs'
6) Do 'adb push data2sd.dirs /sdcard/Android/data/g3mod/'
7) Reboot your phone
8) Once your phone has booted, run 'adb shell cat /data2sd.log' to ensure it is running correctly.

How to enable Multi Data

1) Connect your phone via ADB
2) Go into adb shell
3) Type 'echo 0 > /sdcard/Android/data/g3mod/multiosdata'
4) Multi Data will automatically backup your data upon booting into a different OS.

Make sure to not wipe your SD-EXT partition. Doing so will erase the backups from other firmware. Only wipe it if you wish to erase data for everything.

You can also use Multi Data to quickly restore data if your phone has become corrupted. It will restore it back to the last multi-boot switching

1) Connect your phone via ADB
2) Go into adb shell
3) Type 'echo 0 > /sdext/lastos'
4) Reboot the phone

Directories for Multi boot:

//ROM Dir
__system("mkdir /sdcard/Android/data/g3mod/roms/CyanogenMod6_ROM");
__system("mkdir /sdcard/Android/data/g3mod/roms/CyanogenMod7_ROM"); //Add CM7 Support
__system("mkdir /sdcard/Android/data/g3mod/roms/G3MOD_ROM");
__system("mkdir /sdcard/Android/data/g3mod/roms/Kyrillos_ROM");
__system("mkdir /sdcard/Android/data/g3mod/roms/Grigora_ROM");
__system("mkdir /sdcard/Android/data/g3mod/roms/AOSP_ROM");
__system("mkdir /sdcard/Android/data/g3mod/roms/DutchMods_ROM");
__system("mkdir /sdcard/Android/data/g3mod/roms/Kyorarom_ROM");
__system("mkdir /sdcard/Android/data/g3mod/roms/Indroid_ROM");
__system("mkdir /sdcard/Android/data/g3mod/roms/rom1_ROM");
__system("mkdir /sdcard/Android/data/g3mod/roms/rom2_ROM");
__system("mkdir /sdcard/Android/data/g3mod/roms/rom3_ROM");
__system("mkdir /sdcard/Android/data/g3mod/roms/rom4_ROM");

//Data + sd-ext Backup Dir
__system("mkdir /sdcard/Android/data/g3mod/data/Froyo_DATA");
__system("mkdir /sdcard/Android/data/g3mod/data/CM6_DATA");
__system("mkdir /sdcard/Android/data/g3mod/data/CM7_DATA");

//Kernel dir
__system("mkdir /sdcard/Android/data/g3mod/kernel/Froyo");
__system("mkdir /sdcard/Android/data/g3mod/kernel/CM6");
__system("mkdir /sdcard/Android/data/g3mod/kernel/CM7");

How to configure compcache:

If you want to use default configuration (as up to now.. 62 MB aprox.), you don't have to do anything different as what you have been doing. But if you want to use a more/less memory, here are the steps:
  1. Inside that /sdcard/Android/data/g3mod/compcache file, write ONLY the number of MegaBytes you want to use for compcache.
  2. Reboot.

If compcache file is empty or contains a "0" inside, it will use default configuration.

How to: BLN
This is only "needed" if you have a i5801 | i5800L or any other Galaxy 3 model with back button lights and want BLN in it.

How to install:

First, download the lights.GT-I5800.so file from google code. Then execute this commands:

adb remount (or if this doesn't work: mount -o remount,rw /dev/stl6 /system)
adb rm /system/lib/hw/lights*
adb push [Location of this file] /system/lib/hw

After that, reboot and now you have BLN working :)

Steps for Changing the Max Freq(Dynamic OC):

There is an entry in /sys/devices/system/cpu/cpu0/cpufreq/plls_table where you can put your own value for APLL.
Before doing this, set "PERFORMANCE" governor on and min and max frequencies to the maximum.
Code:
// Do this in adb
echo "0 a[SIZE="5"][B][U]258[/U][/B][/SIZE]0[SIZE="5"][B][U]3[/U][/B][/SIZE]01 a14d0303 c07e13fc cf850240" > /sys/devices/system/cpu/cpu0/cpufreq/plls_table
You need to replace the 258(Hex Value) with your desired value.
Here 258 means
(2*16*16) + (5*16) + 8 = 600
and 3 means it is 600*2 = 1200
Therefore, a2580301 means 1200MHz.
This is a temporary method. For a permanent Method, add this line to a init.d script. Name the script to something like S10_Dyanmic_OC.

Help Others: If you calculate a Hex Value for a particular frequencies add it here:
https://docs.google.com/spreadsheet/viewform?formkey=dG5hdnpsWFdTNExiY2t3dy16VzBvaWc6MQ
You can view all the frequency Hex value's calculated by others over here:
https://docs.google.com/spreadsheet...G5hdnpsWFdTNExiY2t3dy16VzBvaWc&hl=en_US#gid=0
 
Last edited:

g3mod

Senior Member
Sep 7, 2011
57
433
0
9


g3mod_v1.3.4_LITE.tar (5.9 MB)
http://www.multiupload.com/3BIF9S2IES
g3mod_v1.3.4_LITE.zip (6.1 MB)
http://www.multiupload.com/9IJTKFIJDX
g3mod_v1.3.3_LITE.tar (5.9 MB)
http://www.multiupload.com/DDMMU0U9YB
g3mod_v1.3.3_LITE.zip (6 MB)
http://www.multiupload.com/DW1QZPDQOY

g3mod_v1.3.4_PERFORMANCE.tar (5.9 MB)
http://www.multiupload.com/H53ZTO5ULW
g3mod_v1.3.4_PERFORMANCE.zip (6.1 MB)
http://www.multiupload.com/WWFL3EXH0Y
g3mod_v1.3.3_PERFORMANCE.tar (5.9 MB)
http://www.multiupload.com/Y9CDMFVH61
g3mod_v1.3.3_PERFORMANCE.zip (6 MB)
http://www.multiupload.com/0MQQRR1KV8

g3mod_v1.3.4_ULITMATE.zip (6.1 MB)
http://www.multiupload.com/I4JCH7E5JE
g3mod_v1.3.4_ULTIMATE.tar (5.9 MB)
http://www.multiupload.com/TEQXRZMKPQ
g3mod_v1.3.3_ULITMATE.zip (6 MB)
http://www.multiupload.com/97DV0V4OQC
g3mod_v1.3.3_ULTIMATE.tar (5.9 MB)
http://www.multiupload.com/KV9SSVWWZ7

g3mod_v1.3.4_EXTREME.tar (5.9 MB)
http://www.multiupload.com/EGZKK89JTZ

g3mod_v1.3.2_LITE Odin
g3mod_v1.3.2_LITE CWM
g3mod_v1.3.1_LITE Odin
g3mod_v1.3.1_LITE CWM
g3mod_v1.3.0_LITE Odin
g3mod_v1.3.0_LITE CWM

g3mod_v1.3.2_PERFORMANCE Odin
g3mod_v1.3.2_PERFORMANCE CWM
g3mod_v1.3.1_PERFORMANCE Odin
g3mod_v1.3.1_PERFORMANCE CWM
g3mod_v1.3.0_PERFORMANCE Odin
g3mod_v1.3.0_PERFORMANCE CWM

g3mod_v1.3.2_ULTIMATE Odin
g3mod_v1.3.2_ULTIMATE.zip CWM
g3mod_v1.3.1_ULTIMATE Odin
g3mod_v1.3.1_ULTIMATE CWM
g3mod_v1.3.0_ULTIMATE Odin
g3mod_v1.3.0_ULTIMATE.zip CWM

g3mod_v1.3.2_EXTREME Odin
g3mod_v1.3.2_EXTREME CWM
g3mod_v1.3.1_EXTREME Odin
g3mod_v1.3.1_EXTREME CWM
g3mod_v1.3.0_EXTREME Odin
g3mod_v1.3.0_EXTREME CWM
 
Last edited:

g3mod

Senior Member
Sep 7, 2011
57
433
0
9
Source For Developers:

https://github.com/dharamg3

Note:
  1. We am learning how to develop kernels. :D
  2. We willl add different features as and when we can implement them. ;)
  3. The main goal of this kernel will be to keep the phone stable and fast. :cool:
  4. There will be nothing as alpha or beta releases. :eek:
  5. We will give out the kernels directly, but if anything goes wrong and you have to reflash the ROM or kernel, please dont start shouting. :(
  6. You may give us different ideas on what features to implement. We will try our best to implement all the features you want :)
  7. Many of the features implemented in this kernel, are taken from marcellusbe's Fugumod Kernel, and we shall be ever thankful to marcellusbe for the fugumod kernel

Warning:
We are not responsible for any damage caused to your phone (softbrick or hardbrick)
 
Last edited:

g3mod

Senior Member
Sep 7, 2011
57
433
0
9
Credits:

marcellusbe for all his help, awesome fugumod kernel :)
supercurio for voodoo v10 :)
Paolo for BFQ I/O Scheduler
All developers for making this an awesome phone :)
Everyone who is helping is solving different issues with this kernel :)
Please let us know if we miss anyone :)...oh we did already miss someone..thanks G3MOD TEAM too :D :p
 
Last edited:

kyrillos13

Inactive Recognized Developer
Sep 26, 2010
4,279
5,150
0
Athens
@Dharam, i have a question. In your v1.8 Kernel, We can change the partitions to any type we want, can't we? Because in Mumbozver's recovery, we could only use ext2/ext4/ext2.
 

hillbeast

Inactive Recognized Developer
Feb 9, 2011
2,719
6,790
0
Dunedin
@Dharam, i have a question. In your v1.8 Kernel, We can change the partitions to any type we want, can't we? Because in Mumbozver's recovery, we could only use ext2/ext4/ext2.
The kernel itself supports everything, but CWM only supports EXT2. I will look into either porting CWM4 or getting 2.5 to support more systems.
 

Dharam_Maniar

Retired Recognized Developer
Nov 24, 2010
2,555
3,009
0
30
The kernel itself supports everything, but CWM only supports EXT2. I will look into either porting CWM4 or getting 2.5 to support more systems.
getting 2.5 to support other partitions will be a better idea...coz for CWM 4 you need complete CM7 source, and also most of the update.zip's on the g3 forums use amend...and CWM 4 supports only edify....
 

hillbeast

Inactive Recognized Developer
Feb 9, 2011
2,719
6,790
0
Dunedin
Right, I want to work on USB OTG but lack the cable, and the only way I can do it with what I have is if I destroy my only USB cable for my phone. So if someone wants me to do USB OTG, then buy me a cable and I'll do it :p

All the stuff is there to do it, I just need to get the phone to switch into host mode.