• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root [Linaro]Volt Dos 1.0b 1/1/16

spock1104

Android Expert
Introducing the Volt Dos kernel for stock and stock-based ROMs, based on Volt Uno by Whoshotjr2006. I've taken the stock kernel source, compiled it with Linaro 4.9.4, with cortex-a7 optimization and added customizations. My goal is to continue adding updates and customizations. As such, I'm taking feature requests.

Features:
Linaro O2 optimized compilation plus whatever I could apply from 03 that will boot
LZ4 compression (slightly faster boot)
BFQ, fifo, sio, sioplus, vr, and zen schedulers
Intelliactive CPU governor
Intelli_plug (mpdecision replacement)
Intelli_thermal
Faux123 Powersuspend
Adreno Idler
KSM, zsmalloc, zcache
(possibly) GPU overclocking

**Disclaimer** I take no responsibility for the coming of the apocalypse, cats and dogs getting along, violations of the rules of physics, your significant other leaving you, or a broken phone. Make sure you have backups. Consult a dev if you experience excessive uptime.

Download here:
http://www.mediafire.com/download/vf6ynedrvycz084/volt_dos_1.0b.zip
MD5: FF5227DA843A0C92BA9987B6F951994B

Feel daring? Try a beta.
http://www.mediafire.com/download/ghmbb8eei7m9cue/volt_dos_1.1b1.zip
MD5: 38CB3AE3BECD2A0FD6763C38C98E9BB1

Make sure you use TWRP 2.8.7.0 to flash this.

To tweak the kernel (such as governors, schedulers, mpdecision) the use of 3C Toolbox or Kernel Adiutor is highly recommended. Trickster Mod is a simpler option but is prone to busybox issues. These are the only three verified to have full support.


For great I/O, use the SIO scheduler with a cache size of 2048 or the FIOPS scheduler with a cache size of 3072.

If you encounter a stability issue please collect a logcat and a dmesg/last_kmsg for me so I can investigate. I stability test on my phone and generally don't have issues when I release. [HOW TO] - [Post Kernel last_kmsg] - [make Nova Launcher fully expand(desktop mode)] - xda-developers for more detail on last_kmsg

Source code here: https://github.com/spock1104/android_kernel_lge_voltdos
If you make use of this code please try to fork or at least cherry-pick to facilitate code sharing. If you build this code or any subset into a binary you must make your source code available at the same time, per GPL.

Loading instructions:
To permanently load the kernel, flash the zip in recovery. This WILL overwrite system files, make sure you have a backup! There's no need to perform wipes, but it's recommended that you perform a battery calibration.

See post #2 for tips on reducing battery drain

See post #3 for a guide on compiling your own kernel

HTML:
CHANGELOG:
<B>Dos 1.01 beta 1</B>
Devfreq improvements
Fix simple_ondemand
add conservative GPU governor
possible OC fix
<B>Dos 1.0b</B>
Fix intelli-thermal for 8226 architecture (caused some to bootloop)
<B>Dos v1.0</B>
Linaro 4.9.3 2015.06
Switch from OS to O2+ optimization
Switch to LZ4 compression
add BFQ, fifo, sio, sioplus, vr, and zen schedulers
add Intelliactive CPU governor
add Intelli_plug
add Intelli_thermal
add Powersuspend and Adreno Idler
enable KSM, zsmalloc, zcache
add possible GPU overclocking

I appreciate any feedback, testing, and development help I can get.

Thanks for the source:
aosp
LG
Whoshotjr2006
faux123
arter97
And a HUGE thanks to Christopher83 for his Linaro binaries


Enjoy!

To Do:
OTG support (probably not possible, power issues)
cleanup unnecessary code
update drivers
 
Last edited:
Helping you and me reduce battery drain

In order to reduce battery drain, we need to know what on the phone is actually draining it. We can accomplish this via Better Battery Stats. Download and install the app, and give it root permissions.

What can you do to reduce your own battery use?
Monitor the partial wakelocks, which will come from apps waking the phone up to do their thing. Some apps just like to be greedy about their CPU usage. If it's an app you can do without, uninstall it. If it's a system app you can do without, I recommend using ES File Explorer to force an uninstall (BUT BE VERY CAREFUL ABOUT WHAT YOU REMOVE). Make a backup first, either nandroid or with Titanium Backup. If you want or need to keep the app, I recommend using Greenify to hibernate the app.

What can you do to help me reduce battery use?
Monitor the kernel wakelocks tab. If it looks like the kernel has gone wild:

  • Open the BetterBatteryStats settings
  • Open Advanced
  • Open Sharing Options
  • Select Text, Logcat, and dmesg
  • Go back to the main screen
  • Select the share button in the top right
  • Select save
  • Grab the dated BetterBatteryStats, dmesg, and logcat files from your sdcard
 
This is a work in progress and open source. I have limited time to work on it and would rather not do so alone. So, here's the basics to get started. The environment will also set you up for ROM building for the eventuality we get full ROM builds from source.

Environment
This can be done on either a dedicated box or a virtual machine. I've seen recommendations of 50-100GB of space, but I recommend 150 for managing several build directories at once. Follow most of the instructions on Initializing a Build Environment | Android Developers . Also don't mind the RAM requirements, I run my virtual machine with 4GB and its fine.

and to install git

sudo apt-get update sudo apt-get install git git-core
use the instructions at Downloading the Source | Android Developers to install Repo

You'll also need a toolchain. I'm using a custom Linaro 4.9.4 build from [LINARO GCC] Cross Compiler Toolchains [Linaro GCC 4.9 2014.05, 4.8 and 4.7 2014.04][17/05/2014] - xda-developers
Be sure to grab the cortex-a7 toolchain from here. Make a directory in your home folder called toolchains, and unzip the toolchain in this directory.

Now for some custom build tools started by Whoshotjr2006. In your home directory run
git clone https://github.com/spock1104/VoltUnoToolkit.git

This will create a folder in your home directory called "voltunotoolkit"

download AIK-Linux from http://forum.xda-developers.com/showthread.php?t=2073775 and unpack in the AIK-Linux folder within voltunotoolkit

in the voltunotoolkit directory, run
. unpackboot.sh

Downloading the source

Sign up for an account on GitHub, and then go to https://github.com/spock1104/android_kernel_lge_voltdos and click the Fork button. This will duplicate the source code on GitHub to an area where you can make your own changes, and hopefully lead to collaboration. On the webpage for your fork, on the right side there will be an HTTPS Clone URL. Copy this URL.

Back to the terminal, go to ~/voltunotoolkit/and run
git clone <clone_url>

This will download the source to your computer so that you can begin working on it. But we need to put it in the right place.

rmdir kernel
mv android_kernel_lge_voltdos kernel


now open the kernel directory and do a

git checkout dos

Build the code!
First we'll set up variables that tell the system what we're building and how to do it. To test a build we'll do the following, in the kernel directory.

export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=~/toolchain/arm-cortex_a17-linux-gnueabihf-linaro_4.9.4-2015.06/bin/arm-eabi-


Next many more variables that tell the system what kernel options we want

make x5_spr_us_defconfig

And lastly building the code

make

*Other guides will tell you to add a -j# to speed up the build. We'll get to that later. Running without will let you see your errors easily.

You'll see a lot of compiler messages scroll by. With any luck, you'll get no errors and the magical words at the end:

"Kernel: arch/arm/boot/zImage is ready"

Create a bootable image
The zImage is what you need from the compilation but it's not enough to run with. Now we use Whoshotjr2006's scripts to create a full installable package. In case you didn't run the test build above, you still need to run the export CROSS_COMPILE line from above before this. Simply go to ~/voltunotoolkit and run

./build.sh

The build process will run over again and eventually spit out volt_dos.zip. This is the flashable zip file.

Let me know what information you'd like to see added or improved in this guide. Thanks, and happy compiling!
 
Last edited:
sorry im using Volt_dos_beta2b it was late last night. ZV6
Adreno Idler confirmed working with Force GPU rendering enable
Adreno Idler confirmed working with msm-adreno-tz @ 200mhz/450mhz
Polling mostly 200mhz
Code:
cd /sys/devices/*kgsl*/devfreq/*/
while true; do cat trans_stat; busybox sleep 0.1; done
Testing gpu overclock with 3dmark 1080p. Probably not working
CPU: Performance/MPDecision on
GPU: Performance
I/O: Zen 1024kb
2 runs @ 533mhz, 1 run at 450mhz.
Highest score was with 450mhz - 2892
CPU: Performance/MPDecision off
GPU: Performance
I/O: Zen 1024kb
2 runs @ 533mhz, 1 run at 450mhz.
Highest score was with 450mhz - 2877
Testing GPU underclock with 3dmark. 4 runs. Probably not working
100mhz
Performance/MPDecision off - 1373
msm-adreno-tz/MPDecision on -1371
200mhz
Performance/MPDecision off - 1372
msm-adreno-tz/MPDecision on -1365
Gonna try and run some test with adreno libs from hammerhead-kot49h-factory-02006b99 later
 
Last edited by a moderator:
I just flashed this, I can't get passed the LG Logo. It bootloops one the LG Logo. It's there for about 2 seconds then just reboots and gets stuck over and over in a 2-3 second LG Logo boot
 
I just flashed this, I can't get passed the LG Logo. It bootloops one the LG Logo. It's there for about 2 seconds then just reboots and gets stuck over and over in a 2-3 second LG Logo boot

I'm also getting a bootloop from the version posted above, the 1.0 version.
 
Last edited:
Please double check the hash to make sure the download wasn't corrupted, and that you disabled any/all scripts and apps that fiddle with the kernel. I have no boot issues so there's nothing I can look at unless someone coaxes their phone to give them a log.
 
I've done everything...I get a boot loop on the LG Logo. I even factory reset back to complete stock using the LG FLash Tool, Rooted with DP tools. And flashed it (the Dos) using TWRP. Still get stuck on the boot screen.
 
The last thing I did was install fauxsound, so maybe there is more than one audio chip just like there is more than one camera. I'll ask for more information later...
 
Please double check the hash to make sure the download wasn't corrupted, and that you disabled any/all scripts and apps that fiddle with the kernel. I have no boot issues so there's nothing I can look at unless someone coaxes their phone to give them a log.

On beta2c with no problems. Tried several times downloading with four different browsers all bootloop at first LG logo. Visually compared hash and they match. Wish I could help beyond that
 
so i swapped out my ssd for my 500gb hd on my laptop. downloaded ubuntu.. installed it.. currently lagging like turtle in ahorse race. downloading source repo. gonna try and find amd drivers for this apu A8. ps my mouse is hard to use
 
On beta2c with no problems. Tried several times downloading with four different browsers all bootloop at first LG logo. Visually compared hash and they match. Wish I could help beyond that
Can you try beta2d? That will help me narrow it more.
 
Just installed beta1g, running fine so far. Haven't tried enabling anything yet. Based on the conversation do far I didn't really expect to get to this point, lol.

Running Curtis's v2 ROM. Before installing, I cleared data for Kernel Adiutor, turned off swap, disabled GPU rendering and seeder scripts that I had installed, and deleted the zram script for the Volt Uno Kernel.
 

Attachments

  • 1451620447006.jpg
    1451620447006.jpg
    50.1 KB · Views: 244
Last edited:
Just installed beta1g, running fine so far. Haven't tried enabling anything yet. Based on the conversation do far I didn't really expect to get to this point, lol.

Running Curtis's v2 ROM. Before installing, I cleared data for Kernel Adiutor, turned off swap, disabled GPU rendering and seeder scripts that I had installed, and deleted the zram script for the Volt Uno Kernel.

I'm running V4, cleared Kernal Adiutor, have none of the other stuff, another fresh download this time from PC, wiped cache/dalvik before and after, same bootloop.
 
Last edited:
For those who were bootlooping, please look in /sys/module for a folder named snd_soc_wcd#### and let me know the full name. Thanks!
 
Back
Top Bottom