1. Are you ready for the Galaxy S20? Here is everything we know so far!

[Kernel](RobDiesel) This Ain't No Ramdisk

Discussion in 'Android Devices' started by asadullah, Apr 22, 2012.

  1. asadullah

    asadullah Android Enthusiast
    Thread Starter

    Rob Diesel Custom Kernel

    What is it?

    I took the zvc kernel source from lg added some things to it and then recompiled it into a boot.img. To make things easy us I'll put a changelog in the second post.

    Any issues?
    Right now none if you run across any let me no and I'll check on my phone if I got the same issue then I'll work on it BUT I'm going for stability before each release so I'm gonna be checking things before I send it out.

    How to install?
    1) First off know that I'm not responsible for anything that happens to your phone. Mostly because if something goes wrong nine times out of ten it's probably your fault.
    2) Place zip onto your sdcard and reboot into recovery
    3) Choose newkernel.zip and flash it
    4) Reboot your phone and enjoy

    What's coming to the future am I supporting other phones older versions or other questions?

    I'm only supporting the updated versions of the lg marquee right now and forever because why aren't you on them it increases batt life no drop calls other things it's just better.

    Source code..... In a couple weeks when ubuntu 12.04 is released I'm gonna (inshaallah) backup my laptop wipe it and install fresh 12.04 and then I'll upload the source code to github.

    I plan on cranking out some things for boost but right now sprint is number one.

    Attached Files:

    1. Download the Forums for Android™ app!


  2. asadullah

    asadullah Android Enthusiast
    Thread Starter



    initial build
    faster charging
    added interactive governor *
    gps over laptop ???

    * use setcpu to set default governor I would have set this as default but want to wait till I've done thorough testing and know this is better than the current ondemand setting that I'm getting 22 plus hours of batt time on.
  3. lMonsterl

    lMonsterl Android Expert

    Not an oc governor tho?

    the kernels are the same so it should work on boost too

    Sent from my LG-LG855 using Tapatalk 2 Beta-5
  4. ndno

    ndno Well-Known Member

    Hi asadullah, do you know where I can find instructions or a link that shows you how to package an updated kernel (and ramdisk) into a new boot.img that can be used to update under CWM. I used this link but it doesn't seem to be correct: HOWTO: Unpack, Edit, and Re-Pack Boot Images - Android Wiki.

    I downloaded the mkbootimg source from here https://github.com/AndroidRoot/BootTools , built it, and was able to follow the instructions to create a new boot.img but it got stuck at the LG boot screen. I even took Blood's boot.img, unpacked it using the samel BootTools utility and repacked it using the mkbootimg but it wouldn't boot.

  5. asadullah

    asadullah Android Enthusiast
    Thread Starter

    No overclock yet just adding some different things here and there first. I'm thinking that the kernels are the same to but haven't tested it probably almost everything but just a different name. It was the same thing with the optimus s and optimus v.

    Heres a video I made

    use this for the ramdisk
    Code (Text):
    1. ./mkbootfs ./ramdisk | gzip > ramdisk-new.gz
    when you use mkbootimg use this
    Code (Text):
    2. ./mkbootimg --kernel boot.img-kernel --ramdisk ramdisk-new.gz --cmdline " console=ttyMSM1 androidboot.hardware=qcom" -o newboot.img --base 0x80000000
    ndno likes this.
  6. ndno

    ndno Well-Known Member

    Thanks. That mkbootimg command line was what I needed; I was just using mkbootimg with default parameters. I'm trying to make a change to the kernel to OC it to 1.2MHz and then try it out. The better method is to use one of the open source methods out there that uses an overclock module and does not require a change to the kernel itself; instead, just port the overclock module for our phone (OMAP 3630). I was trying to port the overclock module from the milestone-overclock project here: milestone-overclock - Overclocking your rooted Motorola Milestone, Droid, Droid X/2 and others! - Google Project Hosting but I ran into compilation issues (undefined references). The Marquee is, of course, not on the list for that project but the Archos: Tablet A70/A101 is and it uses the same OMAP 3630 processor as the Marquee.

    At this point, I'm just modify the kernel directly to play with.
  7. asadullah

    asadullah Android Enthusiast
    Thread Starter

    Right now that's what I'm gonna try. I've added tun.ko and cifs I don't usually over clock my devices due to battery drain but when I'm getting 22 plus hours i can live with losing a few just for bragging :)
  8. ndno

    ndno Well-Known Member

    Awesome, can't wait for your kernel tweaks. Just trying to learn myself :)
  9. ndno

    ndno Well-Known Member

    I was able to tweak the CPU scaling frequency table in the Marquee BSP to add 1.2GHz option as an entry but unfortunately, I can't use SetCpu to OC it to 1.2GHz yet. I tried the manual method but no go:

    Here's what it looks under SetCpu, just can't get it to go up to 1.2GHz :(
    Will need to look at it some more when I get a chance.

    Attached Files:

  10. MrMondayNight

    MrMondayNight Well-Known Member

    gonna try this now...
  11. asadullah

    asadullah Android Enthusiast
    Thread Starter

    The ram disk also will hold you back

    '.......okay thanks for letting me know
  12. ndno

    ndno Well-Known Member

    Thanks I'll look into that. Will the fast charge work with a cable hooked to a PC?

    Edit: hmmm, there's nothing in the ramdisk relating to clocks or frequencies, only some charger images, a few binaries and a bunch of empty directories for mounts. I think I'm still missing soemthing in the kernel. I'll look at it some more after work tonight
  13. imfm

    imfm Well-Known Member

    If you guys are messing around in the charging source code, see if you can figure out what's up with the performance boost when plugged into USB on a PC. Here is a thread with some discussion and a log file which may have some clues:

    Performance while plugged into USB. - Android Forums at AndroidCentral.com

    I was thinking of maybe trying to develop a kernel module to trick the phone into thinking its plugged into USB, but if you guys have a better idea of what you are doing, maybe you can find a more elegant way.
  14. imfm

    imfm Well-Known Member

    How did you do that? I have been playing with the kernel source and managed to force it to accept 1200 Mhz as the max frequency, and then was able to use a text file to add it available frequencies in SetCPU, but the phone would just stay at 600 Mhz. I downloaded Android Overclock from the market to see if it would work there. It didn't, but it did show that the voltage I had tried to set for 1200 Mhz didn't take, showing 0. So that's probably your problem too. Even if you get the max frequency and scaling values in, you gotta figure out how to set the voltage as well.
  15. ndno

    ndno Well-Known Member

    Yes, it most likely have to do with the voltage not setting correctly for 1200MHz. I need to look at this some more and add debug to the CPU power management section so I can find out where the "checking" occurs which doesn't allow the transition to 1200MHz to occur. With my tweaks to the kernel, using SetCpu, I can set to max at 1200MHz but it will not transition to that speed yet. Need some time to play around with it some more. If I get something working, I'll let you guys know and post my tweaks.
  16. ndno

    ndno Well-Known Member

    I believe the performance boost is on the DSP side of the OMAP 3630 processor in this phone. The DSP side is responsible for a lot of the video processing and other encoding/decoding processing that take up a lot of CPU; the ARM side of the OMAP just offloads the processing to the DSP (co-processor). I think when the USB is hooked up to the PC, somehow the DSP kicks into another gear, going from one of the lower scaling speeds to the highest (800MHz); you can tell it's the DSP because the ARM already maxed out at 1000MHz during the AnTuTu benchmark test, but the DSP is probably not. The DSP operates with the following speeds:
    260MHz, 520MHz, 660MHz, and 800MHz. You can probably get a performance boost by tweaking the kernel to force the DSP to run at the highest speed but it will kill your battery, just like overclocking.

    My thought is this: somehow when you connect the phone to the PC via USB, the phone enters USB peripheral/client mode (it's talking to a host); in this mode, the host is providing the 5V power on the USB interface; so since the host is providing power, the power controller on the phone can be more "liberal" in allowing the DSP and ARM in the OMAP to operate at a high frequency and not worry about "powersaving". Something like your laptop, if it operating just on battery, the CPU tends to operate at a lower frequency to save power (unless you start launching a lot of applications); when it's hooked up to a power adapter, the power profile switches to "performance" and allows the CPU to operate at a higher performance frequency. Just a thought.
  17. ndno

    ndno Well-Known Member

    OK, I have successfully OCed my phone to 1200MHz. I still need to figure out the correct voltage to use for 1200MHz. At the moment, I replaced the 1000MHz entry with 1200MHz running at 1.35V; I tried to set it to 1.375V but it kept crashing. I need to figure out the values for the different registers. With the OC, I have increased the AnTuTu score from 2050 to 2260, a 200 point jump (2nd attachment).

    If I plug the USB to the PC, the score is 2827!!!! (3rd attachment).

    I will post the test kernel soon. I have not tested it for stability so be warned it can mess up your processor.

    Attached Files:

  18. lMonsterl

    lMonsterl Android Expert

    Awesome!!! I knew it wouldn't take us long
  19. lMonsterl

    lMonsterl Android Expert

    Did u run a stress test?
  20. ndno

    ndno Well-Known Member

    Please let me know what tool to use. Thanks.

    EDIT: Nevermind, I see it in SetCpu; I'll go ahead and run it and let you know. How long should I run it for? Should I set it the governor to "performance" and set the min and max to 1200MHz?

    EDIT: OK, I ran the stress test it for 10 minutes with no errors; I set the min and max to 1200MHz. I'm going to put it up now for people to try out.

    Sorry for hijacking your thread, asadullah. I appreciate all the help with mkbootimg you have given me. You are probably one of the main kernel experts here so I can't wait for your other tweaks. I'm going to take your current kernel out for a ride tomorrow. Thanks.
  21. asadullah

    asadullah Android Enthusiast
    Thread Starter

    I wish everyone would hijack my thread with this kind of stuff. I'm gonna go ahead and upload my source tonight on github.
  22. hurrilanche

    hurrilanche Member

    hey asadullah, i was wondering if you might be able to help me. ive got my kernel to compile, and i followed your instructinos using mkboot to get my newboot.img but when i load it, i get hung on the lg screen. i even recompiled the stock kernel with no changes and still get hung. i took the boot img from bloods stock zvc rom split it to get the ramdisk, used the instructions from your video on the ramdisk, the took my zimage and my new ramdisk and followed your directions from your earlier post here for mkboot. then i use koush's anykernel zip, delete everything in it, put in my new boot img, which i rename boot.img, and use the meta file from your kernel and save the anykernel zip with my files with a new name. when i flash it, i hang on the lg screen. is the anykernel method I am using wrong? if you have any ideas id appreciate it, or if you know any guides i could read to help me. thanks

    *also when i use the method you posted here i replace -kernel boot-img.kernel with -"kernel- zImage"

    oh, and i wanted to ask you, I use androidscreencast but in your video it looks like your phones screen image is much better than mine, is that what you use?
  23. asadullah

    asadullah Android Enthusiast
    Thread Starter

    What I would do is to take a boot.img that you know works and unpack it then repack it. If you got problems then you messed up in your procedure. Also wipe cache when you flash a new boot.img

    I use droid@screen.jar
  24. hurrilanche

    hurrilanche Member

    Thanks, i guess their is a problem with the way my kernel is compiling, because it worked when i repacked your kernel. time to try some more.
  25. hurrilanche

    hurrilanche Member

    Well i i just recompiled the stock kernel and it would work. I cant seem to figure out the problem. the only thing i changed in the stock kernel was config.gz support, and while its hung on the LG screen i was able to pull config.gz from the /proc folder. Would it have anything to do with the modules? All I am doing is taking the zimage i get from the arch/arm/boot folder and repacking it. Im not doing anything with the modules. I havent been able to find a guide to tell me what to do with them.

LG Marquee Forum

The LG Marquee release date was October 2011. Features and Specs include a 4.0" inch screen, 5MP camera, 512GB RAM, processor, and 1500mAh battery.

October 2011
Release Date

Share This Page