If anyone is interested, here is a patch which merges Dell's 309 release with the CodeAurora gingerbread kernel for the Streak. (It's not really 7zipped, but I didn't realize bz2 wasn't a legal extension here). It compiles but I'm wrestling with an error creating the System.map file.
If anyone knows someone at Dell such that we can get a newer drop than 309, I'd be happy to merge that instead.
Gingerbread kernel progress
I've managed to push my changes up to github.
https://github.com/coredog64
There are two repositories:
Dell-Streak-Device-Tree, which I cloned from an existing Froyo version by Mistadmin (credit where credit is due ). The only significant changes are the removal of some prebuilt modules which wouldn't work with the new kernel and massaging of make files to eliminate LOCAL_MODULE_TAGS errors on build.
streak-android, which is the CodeAurora kernel sources with Dell's alpha level Gingerbread changes merged in. As DJ_Steve mentioned in another thread, the 4329 drivers out of CodeAurora don't compile, so I replaced them with the latest and greatest from CyanogenMod.
The only other significant change was to add tun.ko and cifs.ko to the list of modules being built.
The tree builds (yay!) but it only builds the image for a generic device. It does build a kernel but not an image for the Streak.
If someone has some time to take a look and give me some pointers I would appreciate it.
kernel, platform, dev-tools, and "extra" source code!
here
to answer the most obvious question:
Jean-Baptiste Queru said:
Here are the GPL source files that match the 4.0 / r14 SDK.
Like we did for all Honeycomb release, this is NOT the full source tree for IceCreamSandwich, these are only the GPL parts that are in the SDK (along with a few associated files), and they're not enough to build the whole IceCreamSandwich for a device.
Click to expand...
Click to collapse
thanks for the link, but the code is useless - no UI libraries, no dalvik to boot JAR's,
no applications... still waiting until google releases the full sources in november
I agree it's mostly useless, but the kernel source at least provides the basic patches needed for the newer version.
the basic patches are for the emulator only.
we need drivers from LG for our hardware, at least a kernel dev like franco can port the drivers to the 3.0
tree, but its a lot of work ... and currently he didnt have a lot of time.
There are many kernel options for EVO 3D/V and most of them are excellent. The difference of MiRaGe is, first of all, it is mine and I like to use my kernel MiRaGe is a very lean, updated, optimized, overclocking kernel.
I am posting the kernel here so that I can return at least a small part of what I have received from the open source community. I thought the amount of time I have spent for MiRaGe could be useful for others as well. In short, take it if you want it, leave it if you don't. But comments, suggestions are always welcome.
There are several custom ROMs in this forum and they can be incompatible with a different kernel. If you are running a custom ROM please use the kernel that the ROM developer recommends. If you know what you are doing and don't need hand holding, you will do what you want anyway.
Changes
separate builds for stock HTC/Sense ICS ROM and AOSP JB ROMs
based on the latest HTC official source
updated to current Linux 3.0 patch level - some of the most irrelevant commits for shooter board were omitted
added cifs, tun modules
enabled usb otg and added otg-wakelock
enabled autogroup scheduler option in CFS to improve interactive responsiveness
compiled with gcc 4.7.4 Linaro toolchain with -O2 optimization
CPU clocked at default 1.512 GHz, enabled higher overclock up to 1.7 GHz
3D GPU overclock to 320 MHz, added 160 MHz low frequency to save battery
2D GPU overclock to 266 MHz, added 160 MHz low frequency to save battery
smoothed voltage curve to increase stability and added CPU voltage table for user control
added 467 MHz bus speed to support 1.6 and 1.7 CPU frequencies
decreased the number of frequency steps using 108 MHz steps to increase efficiency of interactive governor
enabled cpu stats
backported staging/android drivers and updates from Google android-3.0 and 3.4 kernels
backported many msm/kgsl (a220) driver updates from CAF msm-3.4 and removed the unnecessary a3xx part of the driver
upgraded msm/qdsp6 sound driver to v3 from v2 from CM htc_msm8660 kernel
backported many ARM optimizations/updates/fixes from Linux 3.8 and CAF msm kernels
backported latest interactive cpu governor from Google android-3.4 kernel, set as default
backported ondemand governor from CAF msm-3.4 kernel
removed unnecessary cpu governors - governors available: <interactive>, ondemand, performance, powersave
backported latest ROW I/O scheduler from CAF msm-3.4 kernel
removed unnecessary i/o schedulers - schedulers available: <row>, noop, ondemand
backported bcm4329 wifi drivers from CAF msm-3.0 kernel, enabled AP_ONLY for WiFi tethering
backported bcmdhd wifi driver from CAF jb_chocolate for JB kernel
backported workqueue from Linux 3.6 to enhance the hotplug performance of kernel-based mpdecision
backported rwsem from Linux 3.11
completely revised kernel-based msm_mpdecision for performance
removed kernel debug bits, debugfs for security, and bugverbose for lower memory use
switched to simple FIFO net scheduler
added patch [v4] binfmt_elf.c: use get_random_int() to fix entropy depleting
backported latest Qualcomm Crypto Engine (QCE) from CAF msm-3.4
QDSP6V3 Hexagon driver enabled
The details of all changes and source code are available at my Github repo for Sense/ICS and AOSP/JB
Downloads
The GSM version of MiRaGe kernel and related thread is here
These are any-kernel-updater packages that contain zImage + modules.
The latest stable build for CDMA Sense-ICS (11192013). MD5sum: 8092d83cea878bd7914e7c482b1eac57
The latest test build for CDMA Sense-ICS (01132014). MD5sum: 460f63d73f4ce60cf5fb107851a1a690
The latest stable build for CDMA AOSP-JB (11192013). MD5sum: cf1cf3051eadc6fcf32784705ca6d19e
The latest test build for CDMA AOSP-JB (01132014). MD5sum: 8dd5f2aaf018d180bb984475bd578d7d
The package that removes /system/bin/mpdecision and /system/bin/thermald. Mpdecision included in the stock ICS ROM is a drag on the kernel performance without any noticeable benefit of battery life. MiRaGe kernel works much better without it. Thermald creates many error messages and it doesn't work well. If you have flashed the kernel in recovery you don't need this package. If you have flashed the kernel with Flash Image GUI, this package needs to be flashed in recovery only once after the initial flash of MiRaGe (not following updates).
The package to restore the stock kernel. MD5sum: 28505ef162e26634ad9bc37d3db5e81b The boot image, modules, mpdecision, and, thermald included in this package are from the March 2013 OTA (2.95) of VM and will only work with 1.57 and 1.58 hboot.
The package to restore the original /system/bin/mpdecision and /system/bin/thermald.
An Evervolv-based JB ROM I have built to match with this kernel is available here
Instructions and Recommendations
Flash Image GUI must be used when flashing the MiRaGe kernel first time over the stock kernel since any-kernel-updater script will not be able to expand the stock encrypted boot image. If the EVO3D is still S-ON, Flash Image GUI is also recommended for flashing the MiRaGe kernel since Flash Image GUI bypasses S-ON safely and easily.
When the kernel package is flashed in the recovery, /system/bin/mpdecision and /system/bin/thermald are deleted since the kernel comes with corresponding kernel-based services. However those two binary files are not deleted by flashing the kernel using Flash Image GUI. So after flashing the MiRaGe kernel for the first time over the stock kernel, either flash the special package above or reflash the kernel in recovery to delete these files separately. This is required only once after the initial MiRaGe kernel upgrade.
I have tested the kernel with S-ON stock HBOOT 1.57/1.58 and also S-OFF JBear HBOOT 1.57.5757/1.58.5858/1.50.5050. Because the kernel upgrade package is an any-kernel-updater package (i.e. existing boot image is upgraded with new kernel binary), it should work with all HBOOT versions.
Against the widely claimed misconception, there is no need to wipe dalvik-cache with kernel flash. If you still want to wipe it for your superstition, there is no harm either other than wasting your time and wearing off the flash memory
If you try to flash the kernel in 4ext recovery while you are S-ON and get caught in a boot loop, you can boot into the fastboot (volume-down and power buttons) and recover the boot partition using the following command.
Code:
fastboot flash boot boot.img
You will need your original boot.img saved on your hard drive first. You can find the original boot.img in your original nandroid backup or in the stock-kernel package above if you are using the stock ICS ROM. In any case, please do a nandroid backup before flashing anything. For the boot image in the nandroid backup to work, you should have the same (or compatible) hboot when it was backed up. For example, the boot image that was working with v1.58 hboot will not boot with 1.50 but will boot with 1.57. I will not accept any responsibility with the loss of your phone or its warranty.
I use the excellent No-frills CPU Control app for controlling/changing the minimum/maximum frequencies, cpu governor, I/O scheduler and also monitoring the CPU stats. Normally, you don't need this app unless you want to control these settings, overclock, or monitor the CPU stats.
Using Kernel Tuner or similar apps is not recommended. I have optimized the kernel and MiRaGe kernel doesn't need any tuning/tweaking. Please don't post about kernel problems without mentioning that you are using kernel tuner.
Don't use the JB kernel with stock ICS ROM. Don't report problems to ROM developers without specifying that you use a different kernel with their ROM.
Credits
Thanks to Johnnyslt, Sultanxda (Android1234567), and Bigwillyg for their collaboration and help
Thanks to faux123, showp1984, MikeC84, Agraben, and Coolexe for their earlier development and patches
Special thanks to Koush for any kernel updater and joeykrim for Flash Image GUI
Thanks to LeslieAnn for testing USB OTG
Thanks to howpathetic for testing and help with the GSM build
Thanks to sellers86 for additional testing
Thanks to Christopher83 for the Linaro toolchain packages
And, also thanks to Linux, Google, CAF, CM, HTC developers, and all developers on XDA.
Battery Use and Performance for Reference
Battery life corresponds to light daily use with the original OEM battery and CPU @1.7 GHz overclock
The benchmarks are the best values with CPU @1.7 GHz overclock
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Is there anything that makes this kernel Evo V specific?
AFAIK kernels are interchangeable between the Evo 3D and Evo V 4G.
ramjet73
cant wait to try... thanks...
How to build
If you are going to distribute your builds, please don't build your binaries with the same name (i.e. MiRaGe) and distribute in this thread. I would recommend you to start an alternative thread. Otherwise the problem reports will be too confusing for everyone.
First requirement is an ARM toolchain for cross compiling, i.e. using an X86 computer to generate ARM binary. I use Linaro tool chain for cross compiling like many others since Linaro specifically develops tool chains that produce optimized code for ARM architecture.
Linaro toolchains can be downloaded from Linaro binary page. The Linaro-12.03-gcc-4.6 toolchain is very stable/reliable and I recommend starting the development with this toolchain. After the kernel build is successfully done and tested, you can switch to later versions. The toolchain can also be built from the source code available at Linaro website. Cristpoher83 distributes binary packages built from source and I use his 4.7.4 package. It is very reliable. I don't use the experimental gcc-4.8 based toolchains (as of July 2013) since they don't build reliable kernels for me yet.
The binary Linaro toolchain package needs to be expanded in a certain directory, probably inside the home directory. The source code for kernel is available in my Github repo, You can either download the kernel source as a compressed package or you can git-clone it with the following command (you will need git installed in your Linux computer)
Code:
git clone https://github.com/mrg666/android_kernel_shooter.git
The kernel source can again be in a specific home directory.
After the source and toolchain are prepared, copy the configuration file for shooter, arch/arm/configs/shooter_config, as .config to the root of the kernel source and use the following command to build the kernel
Code:
make ARCH=arm CROSS_COMPILE=~/android/android-toolchain-eabi_46/bin/arm-linux-gnueabi- zImage modules -j6
Replace j6 in the above command according to the number of cpus you have on your computer.
Also set CROSS_COMPILE based on the directory you have expanded the binary toolchain package in your home directory.
I use Xubuntu 13.04 x64 (currently) on my Linux workstation that has a Phenom II X6 CPU (960T unlocked to 6 cores and overclocked to 3.4 GHz), 8 GB RAM, 500 GB HD. The compile time is about 1m32.824s for me using all 6 cores. I have been using Ubuntu since version 10.04 to build Gingerbread, Jellybean, and Linux kernel and updated the OS to each and every new version, all of them worked just fine. There is no magic version of Ubuntu. The build problems arise from the package requirements not the OS version.
The flash package is easy. Just use what I distribute as a template and replace zImage and modules inside the package with your build.
Now that you have source and can build the kernel, you can add all the features you want to the kernel
ramjet73 said:
Is there anything that makes this kernel Evo V specific?
AFAIK kernels are interchangeable between the Evo 3D and Evo V 4G.
ramjet73
Click to expand...
Click to collapse
No there is nothing that makes it EvoV specific. It should work with Sprint ROM as well but not tested. Thanks for stopping by.
Re: [KERNEL] MiRaGe - HTC Evo 3D/V ICS/Sense - updated to 3.0.68
Does this work on sense3.6,4.0 or 4.1??
Sent from my PG86100 using Tapatalk 2
rrjskj said:
Does this work on sense3.6,4.0 or 4.1??
Sent from my PG86100 using Tapatalk 2
Click to expand...
Click to collapse
I use rooted stock HTC ROM and it is Sense 3.6. The version of Sense shouldn't be problem for the kernel. The custom ROM can be incompatible with a different kernel. If you are running a custom ROM please use the kernel that the ROM developer recommends.
So, here's a question for you.
Now, when you say "stock" rom, I assume stock RUU ROM? Or are you using one of the ones Jmz had posted, stock rooted? I tried this kernel with Harmonia, which I'm fairly certain is "stock based" but with tweaks/bloatware removed/etc. Wifi broke, which I'm not surprised about after reading about the different drivers and such.
So more or less, what stock ROM are you using with it? I'm curious about giving this a spin.
Re: [KERNEL] MiRaGe - HTC Evo 3D/V ICS/Sense - updated to 3.0.68
rrjskj said:
Does this work on sense3.6,4.0 or 4.1??
Sent from my PG86100 using Tapatalk 2
Click to expand...
Click to collapse
just flashed it on Viper3D.
mrg666 said:
I use rooted stock HTC ROM and it is Sense 3.6. The version of Sense shouldn't be problem for the kernel. The custom ROM can be incompatible with a different kernel. If you are running a custom ROM please use the kernel that the ROM developer recommends.
Click to expand...
Click to collapse
all seems good on Sense 4.1.
#WB said:
just flashed it on Viper3D.
all seems good on Sense 4.1.
Click to expand...
Click to collapse
WiFi works for you without a hitch?
Re: [KERNEL] MiRaGe - HTC Evo 3D/V ICS/Sense - updated to 3.0.68
MrPandroid said:
WiFi works for you without a hitch?
Click to expand...
Click to collapse
oops, WiFi no-go.
Re: [KERNEL] MiRaGe - HTC Evo 3D/V ICS/Sense - updated to 3.0.68
AMAZING!!! Used to use the MiRaGe stuff on my OV!! DL now!!! Awesome!!!
Sent from my shooter using xda app-developers app
MrPandroid said:
So, here's a question for you.
Now, when you say "stock" rom, I assume stock RUU ROM? Or are you using one of the ones Jmz had posted, stock rooted? I tried this kernel with Harmonia, which I'm fairly certain is "stock based" but with tweaks/bloatware removed/etc. Wifi broke, which I'm not surprised about after reading about the different drivers and such.
So more or less, what stock ROM are you using with it? I'm curious about giving this a spin.
Click to expand...
Click to collapse
Stock is the ROM that comes with the phone, just rooted.
#WB said:
oops, WiFi no-go.
Click to expand...
Click to collapse
bcmdhd drivers, I guess. Let me underline and magnify the Stock ROM part in OP.
mrg666 said:
Stock is the ROM that comes with the phone, just rooted.
Click to expand...
Click to collapse
That's what I was thinking, just wanted to make sure. I'll have to give it a go at some point soon. It seems pretty awesome, and I remember using your stuff back in the day on my OV. (I Think its STILL running your stuff...)
Re: [KERNEL] MiRaGe - HTC Evo 3D/V for HTC ICS ROM - updated to 3.0.68
mrg666 said:
bcmdhd drivers, I guess. Let me underline and magnify the Stock ROM part in OP.
Click to expand...
Click to collapse
I saw the stock ROM part, just wanted to see how it would run on custom. I'm a former OV guy i.e. I'm a fan of your work.
#WB said:
I saw the stock ROM part, just wanted to see how it would run on custom. I'm a former OV guy i.e. I'm a fan of your work.
Click to expand...
Click to collapse
Thanks for reporting. It is good to know if any other ROM is working or not.
Hey, I used mirage CM7 on the OV for a long time .
Did you recently pick it up due to it being $100 at RS? Do you plan on making your own signature CM10 rom some day just like you did with CM7?
Kippui said:
Hey, I used mirage CM7 on the OV for a long time .
Did you recently pick it up due to it being $100 at RS? Do you plan on making your own signature CM10 rom some day just like you did with CM7?
Click to expand...
Click to collapse
I had bought it in the Black Friday sale. I was just busy with the kernel until now. And EVO is not like OV. The stock ROM is actually pretty good after rooting and removing some bloat. I use Holo Launcher HD, Holo Locker, Exdialer, and Clock JB from the market to replace some of the Sense nonsense Although the current setup with custom kernel is pretty good, as the kernel work getting easier I am not sure what I would do with my development cravings So I am planning a CM10 eventually. We'll see but there is Dastin1015's excellent 10.1 anyway.
Re: [KERNEL] MiRaGe - for HTC stock ICS ROM - 3.0.68
Working well on d3rpics sensless appreciate your work
Sent from my PG86100 using xda premium