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

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

asadullah

Android Enthusiast
Aug 24, 2010
447
253
casselberry
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.
 

Attachments

  • newkernel.zip
    5.4 MB · Views: 167
Changelog:

4/22/2012

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.
 
Upvote 0
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.

Thanks.
 
Upvote 0
Not an oc governor tho?

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

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.

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

Thanks.

Heres a video I made

use this for the ramdisk
Code:
./mkbootfs ./ramdisk | gzip > ramdisk-new.gz

when you use mkbootimg use this
Code:
./mkbootimg --kernel boot.img-kernel --ramdisk ramdisk-new.gz --cmdline " console=ttyMSM1 androidboot.hardware=qcom" -o newboot.img --base 0x80000000
 
  • Like
Reactions: ndno
Upvote 0
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.
 
Upvote 0
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:

echo 1200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
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.
 

Attachments

  • shot_000023.jpg
    shot_000023.jpg
    40 KB · Views: 157
Upvote 0
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.

The ram disk also will hold you back


MrMondayNight said:
gonna try this now...

'.......okay thanks for letting me know
 
Upvote 0
The ram disk also will hold you back




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

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
 
Upvote 0
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.

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.
 
Upvote 0
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.

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.
 
Upvote 0
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.

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.
 
Upvote 0
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.

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.
 
Upvote 0
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.
 

Attachments

  • shot_000025.jpg
    shot_000025.jpg
    40 KB · Views: 77
  • shot_000024.jpg
    shot_000024.jpg
    55.6 KB · Views: 113
  • shot_000026.jpg
    shot_000026.jpg
    56.7 KB · Views: 113
Upvote 0
Did u run a stress test?

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.
 
Upvote 0
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.

I wish everyone would hijack my thread with this kind of stuff. I'm gonna go ahead and upload my source tonight on github.
 
Upvote 0
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?
 
Upvote 0
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.
 
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones