Android OS Forum banner
1 - 20 of 62 Posts

·
Registered
Joined
·
660 Posts
W00T first post in the Development Section!

First: Me and jdkoreclipse are blindly developing for this. That means neither of us have a Spectrum. Therefore, updates will come out slower (since they have to be sent to testers), and what we do with the kernel might be a little more conservative than what we might normally do with it. If you really want to see more development, either donate to us so we can get the phone, or if you're really nice, you can send a phone to either one of us.

EDIT: I (SONICXML) NOW HAVE A SPECTRUM THANKS TO SHOCKAHOLIC! YOU GUYS CAN STILL GET JDKORECLIPSE ONE IF YOU'RE FEELING NICE :)

Kernel Philosophy: [background=rgb(245, 245, 245)]The philosophy of this kernel is to combine a stable, snappy (real-use wise, not benchmarks) kernel with great battery life. We (me and jdkoreclipse) feel we have achieved the best balance of these in PopcornKernel.[/background]

We are not responsible for anything that happens to your device.
And, unfortunately, your device will not start making popcorn now - though it may be as buttery smooth as popcorn :).

Now onto the kernel!

Download: goo.gl/PBkN8

Changelog (look in the 3rd post for the full changelog):

v2.0
  • Reverted FAIR_SLEEPERS, as this may improve UI responsiveness
  • Use SLQB memory allocator
  • Use Fast_NO_Hz
  • Better memory management for lowmemorykiller
  • Added our special Aggressive and Gallimaufry governors from our GNex kernel
    • Aggressive: This is a modified conservative governor, tweaked for speed while still having excellent battery life. It should also have better screen-on battery life
    • Gallimaufry: This is a modified ondemand governor, tweaked for speed while still having excellent battery life. It features a two-phase algorithm which should improve battery life
  • Added CPU overclock to 1.836GHz
  • Added GPU overclock - 2d module to 266MHz, 3d to 300Mhz
  • Added L2 Cache overclock
  • Added Bus overclock
  • Increased the rate of usb charging from miscellaneous cables to 650mA from 450mA. I don't want to increase it any higher as faster charging gives a lower battery life, and some GNex users using a patch that allowed for higher rates of usb charging experienced issues with their usb ports (granted, that was pulling 1A)
  • Added VMAP_AREA_CACHE (see here for explanation: http://git.kernel.or...61cb6cbf179b10a )
  • Added some codeaurora patches for better and more stable hotplugging
  • Added SVS (voltage control interface). This allows you to undervolt each frequency slot of the cpu. To use this, you have to be using an app that can properly read and control the voltages. Chad0989's IncrediControl (https://play.google....WRpY29udHJvbCJd ) is the only one I've found so far that can do this properly.
  • Some other miscellaneous speed tweaks
About our naming scheme:
0.x releases will be our initial releases, as we make sure that everything is working properly
x.0 releases will be major increments
x.x releases will be minor increments

DIRECTIONS:
Note: This has only been tested on v4 based ROM's. It will probably work on v5, but it has not been confirmed working yet.
1. Download kernel zip and place on sdcard
2. Boot into recovery by either using a software button (power menu (if on broken out), quick boot, rom manager, rom toolbox, etc.) or adb (adb reboot recovery). Only use the physical buttons if you're gonna flash Neph's bootloopfix.zip
3. Go to Install zip from sdcard > Choose zip > navigate to zip > press ok
4. There is no need to wipe cache or dalvik as the updater script does it automatically
5. Reboot your phone
6. Your first boot might take a little longer than usual since the phone is rebuilding its caches - so don't freak out immediately

[background=rgb(245, 245, 245)]ON REPORTING BUGS:[/background]
[background=rgb(245, 245, 245)]Please provide us with:[/background]
  • a detailed description of the bug
  • when the bug occured
  • a way of reproducing it, if possible
  • Your ROM and ROM version
  • Kernel version, frequencies and governor
  • dmesg or /proc/last_kmsg, whichever is applicable
  • To do #6,
    Code:
    <br />
    1. Start terminal emulator session<br />
    2. > su<br />
    3. # dmesg > /sdcard/dmesg.txt<br />
    For reboot/freeze problem, replace Step 3 above with<br />
    3. # cat /proc/last_kmsg > /sdcard/last_kmsg.txt<br />
    4. Paste contents of resultant txt files to pastebin.com<br />
    5. Post pastebin URLs here in this thread for diagnosis<br />
[background=rgb(245, 245, 245)]NOTE: I will not reply to bugs if they do not include the above, you must also be on a stable version of your rom (no alphas or betas) and you must not have any SetCPU profiles active. [/background]

As always, our kernels are GPL compliant, and you can find the source here: https://github.com/sonicxml/Spectrum

We put a lot of time and effort into this, so we encourage you to leave a comment, hit the thanks button, and/or donate:

Sonicxml: Donate

jdkoreclipse: Donate


Thanks to Neph and SupraMan401 for testing this for us!
Thanks to these devs who we have used code from:
Chad0989
Faux123
mtmichaelson
 

·
Registered
Joined
·
660 Posts
CHANGELOG:

v2.0
  • Reverted FAIR_SLEEPERS, as this may improve UI responsiveness
  • Use SLQB memory allocator
  • Use Fast_NO_Hz
  • Better memory management for lowmemorykiller
  • Added our special Aggressive and Gallimaufry governors from our GNex kernel
    • Aggressive: This is a modified conservative governor, tweaked for speed while still having excellent battery life. It should also have better screen-on battery life
    • Gallimaufry: This is a modified ondemand governor, tweaked for speed while still having excellent battery life. It features a two-phase algorithm which should improve battery life
  • Added CPU overclock to 1.836GHz
  • Added GPU overclock - 2d module to 266MHz, 3d to 300Mhz
  • Added L2 Cache overclock
  • Added Bus overclock
  • Increased the rate of usb charging from miscellaneous cables to 650mA from 450mA. I don't want to increase it any higher as faster charging gives a lower battery life, and some GNex users using a patch that allowed for higher rates of usb charging experienced issues with their usb ports (granted, that was pulling 1A)
  • Added VMAP_AREA_CACHE (see here for explanation: http://git.kernel.or...61cb6cbf179b10a )
  • Added some codeaurora patches for better and more stable hotplugging
  • Added SVS (voltage control interface). This allows you to undervolt each frequency slot. To use this, you have to be using an app that can properly read and control the voltages. Chad0989's IncrediControl (https://play.google....WRpY29udHJvbCJd ) is the only one I've found so far that can do this properly.
  • Some other miscellaneous speed tweaks
v1.0
  • switched default governor from performance to ondemand - no idea why LG set performance as default
  • lots of optimizations
  • - compiled vfp with neon
  • - set better cflags
  • - optimized deadline (default io scheduler) for flash based devices
  • disabled a bunch of debugging
  • used ext4 filesystem instead of ext2/3
  • Added KSM
  • Disabled fsync - this should provide better battery life and make write accesses quicker
  • Used LZMA compression - this should give slightly quicker bootup times, and also caused the drop in file size
[background=rgb(245, 245, 245)]v0.1 -[/background]
  • [background=rgb(245, 245, 245)]patched kernel up to 2.6.35.14[/background]
  • [background=rgb(245, 245, 245)]added an ext4 performance patch[/background]
  • [background=rgb(245, 245, 245)]added FAIR_SLEEPERS[/background]
  • [background=rgb(245, 245, 245)]added JHASH3[/background]
  • [background=rgb(245, 245, 245)]some performance tweaks[/background]
  • [background=rgb(245, 245, 245)]increased max_readahead to 4096[/background]
  • [background=rgb(245, 245, 245)]tweaked ksm[/background]
  • [background=rgb(245, 245, 245)]changed it to use optimal load distribution[/background]
 

·
Registered
Joined
·
4 Posts
This was done using the debloated ROM found on AndroidForums.

$ export PATH=/data/local/bin:$PATH
$ su
# mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mmcblk0p26 /system ext4 ro,relatime,barrier=0,data=ordered 0 0
/dev/block/mmcblk0p22 /tombstones ext4 rw,nosuid,nodev,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p1 /firmware vfat ro,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=lower,errors=remount-ro 0 0
/dev/block/mmcblk0p28 /data ext4 rw,nosuid,nodev,relatime,barrier=1,data=writeback,noauto_da_alloc 0 0
/dev/block/mmcblk0p12 /persist ext4 rw,nosuid,nodev,relatime,barrier=1,nodelalloc,data=ordered 0 0
/dev/block/mmcblk0p27 /cache ext4 rw,nosuid,nodev,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p29 /mpt ext4 rw,nosuid,nodev,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p20 /drm ext4 rw,nosuid,nodev,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p23 /mm ext4 rw,nosuid,nodev,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p14 /system/etc/firmware/misc_mdm vfat ro,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=lower,errors=remount-ro 0 0
/dev/block/vold/179:33 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:33 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0
/dev/block/dm-0 /mnt/asec/com.realvnc.viewer.android-1 vfat ro,dirsync,nosuid,nodev,relatime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
#
 

·
Registered
Joined
·
119 Posts
I'll do one better:
major minor #blocks name
179 0 3526656 mmcblk0
179 1 32768 mmcblk0p1 = /firmware vfat
179 2 1024 mmcblk0p2 = SBL2?
179 3 1024 mmcblk0p3 = SBL3?
179 4 1 mmcblk0p4
179 5 1024 mmcblk0p5
179 6 5120 mmcblk0p6 = ROM update commands - ipth
179 7 5120 mmcblk0p7 = DemiGod Crash Handler/Factory Reset Module
179 8 10240 mmcblk0p8 = /boot emmc
179 9 1024 mmcblk0p9
179 10 3072 mmcblk0p10
179 11 3072 mmcblk0p11
179 12 8192 mmcblk0p12 = /persist ext4 blocks = 4096
179 13 16384 mmcblk0p13 = /recovery emmc
179 14 32768 mmcblk0p14 = /system/etc/firmware/misc_mdm vfat
179 15 3072 mmcblk0p15
179 16 3072 mmcblk0p16
179 17 3072 mmcblk0p17 = empty
179 18 3072 mmcblk0p18 = empty
179 19 1024 mmcblk0p19 = empty
179 20 8192 mmcblk0p20 = /drm ext4
179 21 16384 mmcblk0p21 = empty
179 22 73728 mmcblk0p22 = /tombstones ext4
179 23 8192 mmcblk0p23 = /mm ext4
179 24 24576 mmcblk0p24
179 25 8192 mmcblk0p25 = /misc emmc - This is where the CWM bootloop flag is
179 26 1048576 mmcblk0p26 = /system ext4
179 27 270336 mmcblk0p27 = /cache ext4 blocks = 4096
179 28 1843200 mmcblk0p28 = /data ext4 blocks = 4096
179 29 16384 mmcblk0p29 = /mpt ext4
179 30 4096 mmcblk0p30 = empty
 

·
Registered
Joined
·
660 Posts
Yeah, most of the Dev work on the Spectrum is currently being done on another forum. I have no issues with work being here thou as I browse 3 different forums for the Spectrum daily.
1) are you running a rom with busybox installed? (because if not, the kernel won't install)
2) you should probably make a nandroid, just in case I still got the mount points wrong, or if your phone just doesn't like it.

Otherwise, here's the link: http://dl.dropbox.co...-v0.1-AlPhA.zip
(This is really basic right now, the only changes are what you see here: https://github.com/s...ectrum/commits/ )

Oh, and flash this in CWM. It will automatically wipe cache and dalvik cache so you shouldn't need to do that.
 

·
Registered
Joined
·
119 Posts
The Spectrum comes with a stripped down version of busybox installed, but most of us run scripts to install the full version when we root.

Also, your script looks acurate, so I will be trying this shortly.
 

·
Registered
Joined
·
119 Posts
Failed to mount /cache, but everything else seemed to go ok.

-- Installing: /sdcard/Popcorn-Kernel-v0.1-AlPhA.zip
Finding update package...
I:Update location: /sdcard/Popcorn-Kernel-v0.1-AlPhA.zip
Opening update package...
Installing update...
AnyKernel Updater by Koush.mount: failed to mount /dev/block/mmcblk0p27 at /cache: Device or resource busy

minzip: Extracted file "/tmp/dump_image"
minzip: Extracted file "/tmp/mkbootimg"
minzip: Extracted file "/tmp/mkbootimg.sh"
minzip: Extracted file "/tmp/unpackbootimg"

minzip: Extracted file "/tmp/zImage"
about to run program [/sbin/busybox] with 4 args

20480+0 records in
20480+0 records out
10485760 bytes (10.0MB) copied, 0.329883 seconds, 30.3MB/s
about to run program [/tmp/unpackbootimg] with 5 args
BOARD_KERNEL_CMDLINE vmalloc=450M, console=ttyDCC0,115200,n8 androidboot.hardware=qcom
BOARD_KERNEL_BASE 40200000
BOARD_PAGE_SIZE 00000800
about to run program [/tmp/mkbootimg.sh] with 1 args

Introducing PopcornKernel by sonicxml and jdkoreclipseabout to run program [/sbin/busybox] with 4 args

Cleaning up and clearing caches...
Extracting Kernel files...
Installing kernel...
12080+0 records in
12080+0 records out
6184960 bytes (5.9MB) copied, 1.922741 seconds, 3.1MB/s
Install Successful...script result was [Enjoy the Show!]

Enjoy the Show!

Install from sdcard complete.
 

·
Registered
Joined
·
660 Posts
The Spectrum comes with a stripped down version of busybox installed, but most of us run scripts to install the full version when we root.

Also, your script looks acurate, so I will be trying this shortly.
Let me know how it goes

EDIT: nevermind, looks like I have to try again.
 

·
Registered
Joined
·
660 Posts
AFAIK, his is just stock.

This is gonna have a lot more tweaks - and it already has a few (take a look at the github).

and status update - I got a boot.img form to boot properly, so I just need to find out what was wrong with my anykernel format
 

·
Registered
Joined
·
660 Posts
Discussion Starter · #18 ·
Yup: v0.1
[background=rgb(245, 245, 245)]Download: [/background]http://goo.gl/RabMh

[background=rgb(245, 245, 245)]Changelog:[/background]

[background=rgb(245, 245, 245)]v0.1 -[/background]
[background=rgb(245, 245, 245)]patched kernel up to 2.6.35.14[/background]
[background=rgb(245, 245, 245)]added an ext4 performance patch[/background]
[background=rgb(245, 245, 245)]added FAIR_SLEEPERS[/background]
[background=rgb(245, 245, 245)]added JHASH3[/background]
[background=rgb(245, 245, 245)]some performance tweaks[/background]
[background=rgb(245, 245, 245)]increased max_readahead to 4096[/background]
[background=rgb(245, 245, 245)]tweaked ksm[/background]
[background=rgb(245, 245, 245)]changed it to use optimal load distribution[/background]
 

·
Registered
Joined
·
119 Posts
1hour 12min in and trying my best to kill the battery(wifi, streaming audio, video gaming), but only down to 78%. Pretty decent battery life from this so far.
 

·
Registered
Joined
·
660 Posts
Discussion Starter · #20 ·
1hour 12min in and trying my best to kill the battery(wifi, streaming audio, video gaming), but only down to 78%. Pretty decent battery life from this so far.
This is just the beginning

Sent from my Galaxy Nexus using RootzWiki
 
1 - 20 of 62 Posts
Top