[LG Optimus 2x] kholk:
Welcome to the EternityProject Optimus2x Kernel Thread!

What is it?

It is a kernel with some updates on Tegra2 and Cortex A9 management drivers.

Why should I flash it?

You should flash it only if you know what are you doing.

If you know what are you doing, you shouldn't ask this question.

Flashing methods:

1. Copy boot-new.img in /sdcard, then on your phone's root terminal type:

dd if=/dev/zero of=/dev/mmcblk0p5
dd if=/sdcard/boot-new.img of=/dev/mmcblk0p5

OR

2. Copy boot-new.img into your nvflash folder and do this:

nvflash --bl fastboot.bin --download 10 boot-new.img

OR

3. Download the update.zip version and flash it through ClockWorkMod Recovery.

Installing wireless.ko (Only for methods 1 and 2):

adb shell mount -o remount,rw /dev/block/mmcblk0p1 /system
adb push wireless.ko /system/lib/modules/
adb shell chmod 777 /system/lib/modules/wireless.ko

Features:

-- EXT4 Partition support

-- Stock frequencies

-- Optimized/Modified Tegra 2 Drivers

-- Modified Cortex-A9 (Tegra 2 core)'s cache behavior. Great results on tests.

Changelog:

1.5c:
- Battery management: Reverted to old calculation method
1.5b:
- Power management: Accelerate grace period if last non-dynticked CPU
- Touchscreen management: One event per tap (no double-events)
- Touch events: Debug messages disabled
- Touch events: Added finger release event
- SPI: Building without LPRINTK (performance optimization)
- Touch buttons: Enabled virtual buttons
- Battery management: Read by 1% steps // Percentage reading by voltage (Important: Be sure to reset Android batt calibration file for better reading)
1.4:
- BFQ I/O Scheduler enabled as default iosched.
1.3:
- Clock and Voltage control through PimpMyCpu enabled (Thanks to Cpasjuste)
- Anticipatory CPU Scheduler
- Max clock: 1.3GHz 1.2mV
1.2:
- Updated to Linux 2.6.32.27
- New SLAB Allocator
- Deadline CPU Scheduler
- Motorola Olympus Board Supported on kernel tree
1.1:
- Updated to Linux 2.6.32.20
- Optimizations in scheduler
1.0S:
- ALSA: Support for concurrent playback/record
- Support for ALSA (for my upcoming project - Moto Webtop port on Optimus 2x)
- Flush L1 cache instead of wiping page per page
- Added parameter checking to memory functions on GPU code
- Optimized SDIO suspend handler
- ThumbEE instructions support enabled
- Thumb-2 code optimizations
- NEON instruction support

Experimental branch: Changelog:

v2.3:
- Reboot issue fixed. Device won't powerdown.
- Subsystem suspend and resume implemented
- Clocksource updated to reflect the changes
- Sched optimizations
- CIFS Support enabled.
v2.2:
- timer: Separate clocksource and sched_clock
- usb: host: tegra: Fix enumeration after lp0
- tegra: enable kfuse
- staging: android: lowmemorykiller: Ignore shmem pages in page-cache
- tegra: cpufreq thermal throttling cleanups
- Tegra ALSA: Fix Playback crash after Record
- Tegra ALSA: Fix for kernel panic when dealing with DMA
- tegra: clock: Add function to set SDMMC tap delay
- tegra-aes: AES Crypto Hardware Acceleration implemented
- tegra: registering tegra-avp device
- tegra: Add speedo-based process identification
- tegra: duplicate vde clock for aes in tegra2_clocks
- tegra: hardware arbitration semaphore support
- tegra: add VDE and arb semaphores to iomap.h
- video: tegra: support output pin polarities setting
- tegra: Prevent requeuing in-progress DMA requests
v2.1:
- Max AP clock: 1.4GHz
- Semaphores implementation
- Gingerbread (CM7) support
- Battery readings are now okay.
v2.0:
- Max AP clock: 1.2GHz
- Cache management: Don't wipe data. Overwrite it instead.
- ASM routines optimizations
- Support for latest version of PimpMyCpu
- GPU drivers updated to latest snapshot version.
- Build optimizations
- Code optimizations of 1.x branch implemented
- Kernel version: 2.6.32.39
- New codebase initialized.

Clock Table (v1.x):

- 1300MHz 1200mV
- 1200MHz 1100mV
- 1000MHz 1000mV
- 900MHz 950mV
- 750MHz 875mV
- 650MHz 850mV
- 500MHz 800mV
- 300Mhz 750mV

Download:

EternityProject Kernel --Experimental Branch-- v2.3 Gingerbread -update.zip for CWM: MegaUpload

EternityProject Kernel --Experimental Branch-- v2.3 FroYo -update.zip for CWM: MegaUpload

EternityProject Kernel v1.5c -update.zip for CWM: MegaUpload

Old Versions:

EternityProject Kernel --Experimental Branch-- v2.2 Gingerbread -update.zip for CWM: MegaUpload

EternityProject Kernel --Experimental Branch-- v2.2 FroYo -update.zip for CWM: MegaUpload

EternityProject Kernel --Experimental Branch-- v2.1 Gingerbread -update.zip for CWM: MegaUpload

EternityProject Kernel --Experimental Branch-- v2.1 FroYo -update.zip for CWM: MegaUpload

EternityProject Kernel --Experimental/Unstable Branch-- v2.0 -update.zip for CWM: MegaUpload

EternityProject Kernel v1.5b -update.zip for CWM: MegaUpload

EternityProject Kernel v1.4 -update.zip for CWM: MegaUpload

EternityProject Kernel v1.3 -update.zip for CWM: MegaUpload

EternityProject Kernel v1.2 -update.zip for CWM:MegaUpload

EternityProject Kernel v1.1 -update.zip for CWM: MegaUpload

EternityProject Kernel v1.1: MegaUpload

EternityProject Kernel v1.0S - update.zip for CWM: MegaUpload

EternityProject Kernel v1.0S: MegaUpload

WiFi Module for Kernel 1.0S: MegaUpload

Kernel source code: Gitorious

Configuring kernel:

LG P990 (Optimus 2X - LG Star Rev.F):
make P990_EternityPRJ_defconfig ARCH=arm

LG P999 (T-Mobile G2x - LG Star TMOUS):
make P999_EternityPRJ_defconfig ARCH=arm

Enjoy!

The Eternity Project Developer

--kholk