[G1 Android Development] farmatito:
[DEV][TEST] 2.6.29.6 kernel for cyanogenmod 4.2.15.1 with BFS 316

I've been working on tweaking the 2.6.29.6 kernel on my G1

and so far have a working setup that seems to be stable on cyanogenmod 4.2.15.1.

What I've used:

* kernel source: http://android.git.kernel.org/?p=ke...089eb4931cbf63877963ecb09e6330c5888cdb;sf=tgz

* wifi driver: sta_dk_4_0_4_32 from http://android.git.kernel.org/?p=pl...aef43e0d0454b3119a5299561073700d2c7e14;sf=tgz

* compcache-0.6.2: http://compcache.googlecode.com/files/compcache-0.6.2.tar.gz

* BFS 316: http://ck.kolivas.org/patches/bfs/

What patches I've applied:

patch -p1 -E < patches/001-msm_evlog_fix.patch
patch -p0 -E < patches/002-arm_mmu_fix.patch
patch -p0 -E < patches/003-msm_husb_fix.patch
# Reverted
# patch -p0 -E < patches/004-sysctl_fix.patch
patch -p0 -E < patches/005-module_fix.patch
patch -p0 -E < patches/006-mt9to13_reg_fix.patch
patch -p0 -E < patches/007-mass_storage_fix.patch
patch -p1 -E < patches/008-swap_notify_core_support.diff
patch -p0 -E < patches/009-staging_update.patch
patch -p0 -E < patches/010-msm_sdcc_update.patch
patch -p1 -E < patches/011-audpp_fix_msm.git-4a2f034ba030148849f2efad8373da3c2dbd8c05.patch
patch -p0 -E < patches/012-update_idle-v6.patch
patch -p1 -E < patches/013-bfs-squashed-set-of-prereqs-from-2-6-31.patch
patch -p1 -E < patches/014-bfs-302-backport.patch
patch -p1 -E < patches/015-bfs-allow-non-privileged-tasks.patch
patch -p0 -E < patches/016-bfs302-303.patch
patch -p1 -E < patches/017-bfs303-304.patch
patch -p1 -E < patches/018-bfs304-310.patch
patch -p1 -E < patches/019-bfs310-311.patch
patch -p1 -E < patches/020-daproy-BFS-311-312.patch
patch -p1 -E < patches/021-daproy-BFS-312-313.patch
patch -p1 -E < patches/022-cpufreq_sysfs_msm.git-163a6fc98e1796c0edf1e11041fe1b6ae06f2154.patch
patch -p0 -E < patches/023-bfs_warning_fix.patch
patch -p1 -E < patches/024-i2c_8mv_fix_msm.git-49bf89e5013b1f46869d9e4d4267e0a3514bb8a0.patch
patch -p1 -E < patches/025-2.6.33-bfs-315-316.patch
patch -p0 -E < patches/026-bfs_316_fix.patch

Features: BFS 0.316, backported msm_sdcc, backported staging drivers, other minor fixes and tweaks, no overclock yet as it is not stable on my G1.

My config is: BFS enabled, compcache enabled, SLOB allocator, CFQ elevator (see attached config.txt for details).

Attached to test with Cyanogenmod 4.2.15.1 you will find zipped copies of:

new_boot.img
wlan.ko
modules.sqf
patches/

TAKE A BACKUP FIRST AND TEST IT ONLY IF YOU KNOW WHAT YOU ARE DOING!!!

To test it:

sudo adb devices
adb shell umount /system/modules/
adb shell cp /system/modules/modules.sqf /sdcard/
adb shell cp /system/lib/modules/wlan.ko /sdcard/
adb remount
adb push wlan.ko /system/lib/modules/
adb push modules.sqf /system/modules/
adb push new_boot.img /sdcard/
adb shell reboot

To test the new kernel enter fastboot mode

sudo fastboot boot new_boot.img

To restore your old system:

sudo adb devices
adb remount
adb shell umount /system/modules/
adb shell cp /sdcard/modules.sqf /system/modules/modules.sqf
adb shell cp /sdcard/wlan.ko /system/lib/modules/wlan.ko
adb shell reboot

To flash the new boot image:

sudo adb devices
adb shell flash_image boot /sdcard/new_boot.img
adb shell reboot

This instructions are as I recall them, I hope that I didn't forget some steps...

The kernel worked fine during the last days of testing, interactivity is

good and with BFS very fluid. Probably it could be tweaked further.

Enjoy it and USE AT YOUR OWN RISK!

farmatito