Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

[KERNEL] Semaphore ICS 1.3.0

OP stratosk

28th January 2012, 11:20 AM   |  #1  
stratosk's Avatar
OP Recognized Developer
Flag Thessaloniki
Thanks Meter: 29,918
 
5,858 posts
Join Date:Joined: Mar 2011
Donate to Me
This is a kernel based on the pawitp's one and it works for Android 4.0.x ICS ROMs.


Features

- LiveOC
- Custom Voltage
- Voodoo Sound
- BLN
- 373.5MB - 398.7MB available RAM
- Compiled with Linaro 4.7.2
- O3 optimization
- Semaphore Script Manager 0.75
- Auto brightness driver
- Touch Wake
- Vibration intensity
- Deep Idle
- USB host driver
- Governor ondemand (default)
- ondemand: sampling_down_factor tunable by momentum, smooth_ui
- Governor conservative (module, smooth_ui)
- Governor smartassV2 (module, smooth_ui)
- Noop I/O scheduler (default)
- Deadline I/O Scheduler (module)
- Simple I/O Scheduler (module)
- CFQ I/O Scheduler (module)
- Netfilter (iptables) as modules
- CIFS as module
- TUN as module
- Logcat disabled (as module only)
- Standard network packet scheduler
- Kernel log buffer size 4KB (from 128KB)
- Reduced debug info
- TinyRCU
- Fast Charge support
- WiFi PM_MAX when suspend
- CWM 6.0.1.0
- /system/etc/init.d directory creation if not exist

In order to load various modules of the kernel and enable or disable features use HM.Carbide's Semaphore Script Manager application. It automatically copies and runs the respective scripts from /res/scripts to /system/etc/init.d directory. The scripts:

- S05enable_oc_0800 (disable overclocking - caps max freq to 800Mhz)
- S05enable_oc_1000_default (disable overclocking)
- S05enable_oc_1100 (enable overclocking - max freq 1100MHz)
- S05enable_oc_1140 (enable overclocking - max freq 1140MHz)
- S05enable_oc_1200 (enable overclocking - max freq 1200MHz)
- S10enable_gov_conservative (load and enable conservative governor module)
- S10enable_gov_ondemand_default (enable ondemand governor)
- S10enable_gov_smartassV2 (load and enable conservative smartassV2 module)
- S15enable_sched_deadline (load and enable the deadline I/O scheduler module)
- S15enable_sched_noop_default (enable noop scheduler)
- S15enable_sched_sio (enable and load SIO scheduler module)
- S20enable_netfilter (load netfilter modules for firewall or WiFi, USB tethering)
- S30enable_logger (enable logging)
- S35enable_tun (load tun module)
- S40enable_cifs (load cifs module)

Custom Voltage may be configured with Voltage control or similar applications.

For more information check the semaphore kernel website: www.semaphore.gr

For questions or issues about Semaphore Script Manager please visit HM.Carbide thread

Thanks to Superuser, you may download a wonderful custom bootanimation for CM9 from http://www.semaphore.gr/downloads/boot-animations


Thanks to

pawitp for his kernel.
zacharias.maladroit for his useful information about CM's initramfs
HM.Carbide for his Semaphore Script Manager application.
Ezekeel for LiveOC, Custom Voltage
sztupy for USB host driver
koush for CWM
xcaliburinhand for his work about dock support
mialwe for his vibrator intensity and other fixes
ShadowInkDesigns for Android logo
trailblazerz11 for his help with Linaro and other changes
DerTeufel1980 for various hints

All people who support this kernel by testing, reporting issues, donating or simply using it.


Change log

1.3.0 (30/07/2012)
- added CFQ scheduler as module
- in call volume settings (thanks to DerTeufel for his hint)
- fix charging display for car dock (thanks to pawitp)
- CWM 6.0.1.0 (thanks to koush) *
- CWM: added AROMA Filemanager (thanks to amarullz)
- compiled with Linaro 4.7.2 201207

Normal versions (for CM9 or ROMs without hugemem configuration)
1.3.0
- 373.5MB - 385.7MB

For Slim ROM or patched ROMs with hugemem configuration
1.3.0s
- 386.5MB - 398.7MB

* Nandroid backups with CWM 6 are not compatible with previous versions.



1.2.6 (07/07/2012)
- USB mass storage disable write speed cache support (thanks kasper_h, DerTeufel1980 for the hint)
- CWM: Allow key to repeat on hold (thanks to FaultException, koush). Works for volume up, down and touch key menu (as down)
- CWM: fix selection bar color when battery < 21%
- CWM: upstream sync (thanks to koush) *
- initramfs sync some changes with CM9 (adb works in root by default in recovery)
- compiled with linaro 4.7.1 201206

Normal versions (for CM9 or ROMs without hugemem configuration)
1.2.6
- 373.5MB - 385.7MB

For Slim ROM or patched ROMs with hugemem configuration
1.2.6s
- 386.5MB - 398.7MB

* Please note that due to changes in nandroid backup/restore, previous versions of Semaphore can't restore backups from version >= 1.2.6. To be on the safe side, please renew your backups.


1.2.5 (19/06/2012)
- rebased to 3.0.17 (thanks to trailblazerz11 and eugene373 for their github)
- compiled with Linaro 4.7.1 toolchain (thanks to trailblazerz11 for his help)
- O3 optimization flag
- upstream sync (fixes for cdma in-call volume and mic gain included, thanks to pawitp, efpophis)
- WiFi PM_MAX when suspended
- fixed 800MHz underclocking
- changed boot splash screen

Normal versions (for CM9 or ROMs without hugemem configuration)
1.2.5
- 373.5MB - 385.7MB

For Slim ROM or patched ROMs with hugemem configuration
1.2.5s
- 386.5MB - 398.7MB


1.2.2 (01/06/2012)
- Bootloop detection (if no normal boot is detected the phone will be forced to recovery in next boot) *
- bugfix: enabling Wi-Fi hotspot twice (copy the new netfilter script in order this to work by disabling and then enabling again netfilter in Semaphore app)
- creation of /system/lib/modules if does not exist
- removed LMK scripts
- fix some typos in scripts description (thanks to cdmackay, HiKsFiles)

* It doesn't mean that this will necessarily resolve the known bootloop issue, but it may help on bootloops because of bad OC/UV etc.



Full changelog: http://www.semaphore.gr/changelog/ics-version
Deep Idle Guide and FAQ


Sources

The Linux Kernel
Samsung Kernel sources
Semaphore kernel sources


Please use it at your own risk!

The attachment zip files are for flashing from CWM recovery.
The attachment tar files are for flashing through Heimdall/ODIN.

Attachment files md5sum:

4a963c5183993b256c5a0d52f88bc2c7 Semaphore_ICS_1.2.6.zip
408178563587859c31a4c5a90b394166 Semaphore_ICS_1.2.6s.zip
3a0ca16342f811dfd9666ce3633a20b6 Semaphore_ICS_1.2.6.tar
c53114e74530e68c3b5cddb424343e8b Semaphore_ICS_1.2.6s.tar
753748fba3b590babcbfb76857bf609d Semaphore_ICS_1.3.0.zip
a6f0d7c9d2254d9a178248d48cf3de45 Semaphore_ICS_1.3.0s.zip
1e71744541d74fdd60d6b43c2dc767c7 Semaphore_ICS_1.3.0.tar
09e1e9806dc84c9c2e2341e38ebd51b0 Semaphore_ICS_1.3.0s.tar


Alternative download from http://www.semaphore.gr/downloads/gt-i9000-ics

1.2.5e Euro 2012 - Spain Special Edition
Last edited by stratosk; 29th July 2012 at 09:44 PM. Reason: ICS_1.3.0
The Following 601 Users Say Thank You to stratosk For This Useful Post: [ View ]
28th January 2012, 11:21 AM   |  #2  
stratosk's Avatar
OP Recognized Developer
Flag Thessaloniki
Thanks Meter: 29,918
 
5,858 posts
Join Date:Joined: Mar 2011
Donate to Me
How to build Semaphore kernel
Prerequisites
Basic knowledge of Linux is required to be able to build the kernel. We will also need a modern Linux box (preferably).

Basic Setup
First, we need to setup a directory in which we will clone the kernel and initramfs repositories. In this guide, we will setup them in /tmp but you can do it in any directory you want.

In a terminal we run:

Code:
mkdir /tmp/semaphore
cd /tmp/semaphore
Then we clone the basic kernel repository:
Code:
git clone https://github.com/stratosk/samsung-kernel-aries
Finally we clone the initramfs repository:
Code:
git clone https://github.com/stratosk/ics-ramdisk
OK, first step done. We got the code. Now we have to do some preparation and compile it.

Configuration
I prefer to use a mini ugly script to compile the kernel and pack it. It's located in the root of the kernel tree (/tmp/semaphore/samsung-kernel-aries/sbuild.sh)

We open this file with an editor of our choice (I prefer vi) and edit:
1) The two lines with the 'make' command, changing the CROSS_COMPILE= option. We need to set the path from the cross compiler toolchain. I use the one that it's included in CM9 repository.
2) The line starting with the 'find' command, changing the kernel source directory and destination directory of the modules location. This is into the initramfs directory. In our example it's /tmp/semaphore/ics-ramdisk/ics_combo/files/modules

The Semaphore's kernel configuration is located in the file config_sema in the root kernel directory. So, we need to copy this file as .config:

Code:
cp config_sema .config
Then we run this command to start the Linux kernel configuration utility (again change the CROSS_COMPILE according to your toolchain directory):
Code:
make CROSS_COMPILE=/kernels/semaphore_cap/android/android/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi- ARCH=arm menuconfig
We go to 'General Setup' section and we change the 'Initramfs source files' option to /tmp/semaphore/ics-ramdisk/ics_combo/
We also need to change the next 2 options User ID and Group ID to whatever uid and gid we are logged in in the Linux box. In my case is 500,500. We exit and save the configuration.

Compiling
Now we are ready to build the kernel!

We just run:
Code:
./sbuild.sh
We wait few minutes (time depends on the machine) and hopefully the compilation will end.

The script will produce 2 files.
1) /tmp/semaphore/samsung-kernel-aries/arch/arm/boot/zImage
2) /tmp/semaphore/ics-ramdisk/cwm/Semaphore_ICS_1.2.0s.zip

These are the 2 known files that we can flash via Heimdal or CWM respectively.
Last edited by stratosk; 22nd May 2012 at 09:35 PM.
The Following 92 Users Say Thank You to stratosk For This Useful Post: [ View ]
28th January 2012, 11:22 AM   |  #3  
F1tty's Avatar
Senior Member
Flag between sky & hell!
Thanks Meter: 154
 
309 posts
Join Date:Joined: Oct 2011
More
just flasshing
The Following 3 Users Say Thank You to F1tty For This Useful Post: [ View ]
28th January 2012, 11:27 AM   |  #4  
malcho's Avatar
Senior Member
Flag Sarajevo
Thanks Meter: 3,850
 
3,441 posts
Join Date:Joined: Aug 2010
Donate to Me
Nice.Finally.
Downloading.
The Following User Says Thank You to malcho For This Useful Post: [ View ]
28th January 2012, 11:27 AM   |  #5  
TinyFeather's Avatar
Senior Member
Flag Spakenburg
Thanks Meter: 84
 
200 posts
Join Date:Joined: Jan 2012
More
w00t, nice job Semaphore
Now on ICS ^^
The Following User Says Thank You to TinyFeather For This Useful Post: [ View ]
28th January 2012, 11:27 AM   |  #6  
sutekidane's Avatar
Senior Member
Flag Macau SAR
Thanks Meter: 96
 
124 posts
Join Date:Joined: Jun 2010
More
thanks for the hard work!
28th January 2012, 11:28 AM   |  #7  
demonstone's Avatar
Senior Member
Flag Elche
Thanks Meter: 94
 
592 posts
Join Date:Joined: Mar 2011
More
Simply flashtastic!!! I was missing you on ics...

Enviado de mi puño y letra
The Following User Says Thank You to demonstone For This Useful Post: [ View ]
28th January 2012, 11:35 AM   |  #8  
F1tty's Avatar
Senior Member
Flag between sky & hell!
Thanks Meter: 154
 
309 posts
Join Date:Joined: Oct 2011
More
i get bootloop grgrgr someelse? or maybe some restart by script manager? idk testing..
Last edited by F1tty; 28th January 2012 at 11:42 AM.
The Following 2 Users Say Thank You to F1tty For This Useful Post: [ View ]
28th January 2012, 11:44 AM   |  #9  
malcho's Avatar
Senior Member
Flag Sarajevo
Thanks Meter: 3,850
 
3,441 posts
Join Date:Joined: Aug 2010
Donate to Me
Works ok.
Gps,wifi,compass,scripts.
Good job.Finally ics from stratosk.
Nice work
The Following 2 Users Say Thank You to malcho For This Useful Post: [ View ]
28th January 2012, 11:47 AM   |  #10  
qureshali's Avatar
Senior Member
Flag Singapore
Thanks Meter: 43
 
145 posts
Join Date:Joined: Jul 2010
More
Will you be implementing Voodoo Colour as well?

Post Reply Subscribe to Thread

Tags
ics, semaphore
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes