Custom kernals? - Motorola Droid 3

I read that with the cwm working we could flash roms once they've been made so does that mean we could also flash kernals for overclocking the cpu or is the original boot loader needed for that? If it is possible is anyone working on making them? Just curious as to what this phones capable of with being overclocked
Sent from my DROID3 using XDA App

i thought the kernal was locked or something?

no, we wont be able to flash custom kernels
however, we should still be able to overclock through the use of a kernel module, in the same way that the milestone and various others can

How does a kernal module work? I'm guessing someone has to write it?
Sent from my DROID3 using XDA App

prsterero said:
How does a kernal module work? I'm guessing someone has to write it?
Sent from my DROID3 using XDA App
Click to expand...
Click to collapse
Think of it as a driver, someone just has to compile it using a tweaked droid 3 .config

Ah alright. Well someone needs to compile one haha
Sent from my DROID3 using XDA App

If you only want to overclock, you don't need kernel modules. You may don't believe that but it's true you can set the frequency from user mode!
I have successfully overclocked Droid3 to 1.1G by below simple routine:
mem = mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0x4a004000);
printf("CM_CLKSEL_DPLL_MPU: 0x%08x\n",*(mem+0x16c/sizeof(unsigned int)));
*(mem+0x16c/sizeof(unsigned int))=0x0082260c;
printf("CM_CLKSEL_DPLL_MPU: 0x%08x\n",*(mem+0x16c/sizeof(unsigned int)));
Of course above routine needs you set performance to /sys/devices/system/cpu/cpux/cpufreq/scaling_governor
Then it's overclocked always and is not able to drop the frequency by kernel.
If you want kernel overclock the frequency automatically, I bet you need to hack the kernel. A module has no way to do it.
But we do be able to compile a kernel modules and do some kernel things like control PMU counters. I have verified above routine does overclock Droid3 to 1.1G by PMU counters.

is the droid 3 kernel the same as the milestone3 LATAM here is a link to the source codes
http://sourceforge.net/projects/droid3.motorola/files/
and this has the milestone 3 kernel
http://sourceforge.net/projects/droid3.motorola/files/milestone3 LATAM/5.5.1_112_87/
the milestone3 kernel is kernel_omap4.tar
it shows the system core the same for both phones.
hope this helps

Hey yang.felix, how did you find those offsets? I've been reading a bit about how the kernel monitors and maintains the cpufreq within the ranges output in /sys/devices/.../cpu0/cpufreq/scaling_available_frequencies and ./scaling_max_freq or. /scaling_min_freq and how the kernel modules written for the Milestone work, but obviously these methods don't work since omap2_clk_init_cpufreq_table can't be found in /proc/kallsyms (since we're now in 2011 and not 2009 and using an omap4430 hehe...) which makes it trickier to find out which addresses need to be manipulated as you've suggested here with mmap().
Could we not use a similar method to circumvent the kernel by directly altering the initial frequency table and mpu_opps to ensure our changes stick or has this trick been patched?
Sent from my XT860 using xda premium

chapter 3 of OMAP4430's TRM has the address and offset.
Table 3-940. CM_DIV_M2_DPLL_MPU has the detail of the register.
you may want to check whether the frequency table is exported, if it does we can change the default behavior. I didn't try that.

I'm messing around and trying to find out the address of the frequency table in the kernel memory, and keeping my fingers crossed that a similar method used to overclock the Milestone could work. It's trickier now because there are two cores, not to mention entirely different headers/functions used with the OMAP4430.
I'm pretty sure there's a kernel function ( cpufreq_frequency_get_table() ) that just returns the address of the frequency table, at least from there is a start, I just haven't had enough time to sit down and test a few ideas out.
Of course, just getting the address of the table isn't all we'd need, because I think there are further checks in place to make sure the frequency values in the table are actually approved and within set limits stored at different memory addresses, but there are a few tricks to find these out too.

yang.felix said:
I have successfully overclocked Droid3 to 1.1G by below simple routine:
mem = mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0x4a004000);
printf("CM_CLKSEL_DPLL_MPU: 0x%08x\n",*(mem+0x16c/sizeof(unsigned int)));
*(mem+0x16c/sizeof(unsigned int))=0x0082260c;
printf("CM_CLKSEL_DPLL_MPU: 0x%08x\n",*(mem+0x16c/sizeof(unsigned int)));
Of course above routine needs you set performance to /sys/devices/system/cpu/cpux/cpufreq/scaling_governor
Then it's overclocked always and is not able to drop the frequency by kernel.
.
Click to expand...
Click to collapse
Is this something I can use right now? Can I enter this text somewhere on my phone (in terminal etc), or is this code to be inserted in to an overclock app? If so is it implemented anywhere? I am very interested!

CraiaSoftware said:
Is this something I can use right now? Can I enter this text somewhere on my phone (in terminal etc), or is this code to be inserted in to an overclock app? If so is it implemented anywhere? I am very interested!
Click to expand...
Click to collapse
If you don't already know, don't try it. Im tempted too, but you can really mess up a phone screwing with this kind of stuff.
Someone will make a kernel module soon enough and we'll see that baked into roms afterwards, but for now I would recommend patience
Sent from my Droid 3 via the air

Related

[kernel][testing]Unhelpful Kernel (from Captivate)

I'm trying to get the kernel I've been working on for Captivate working on Vibrant. This poses a bit of a problem, because while I have access to a Vibrant kernel and initramfs, and a known-working config for Vibrant, I lack access to a phone.
I've forked a test branch based on what I have so far. I would appreciate pretty much any of the following:
a volunteer to build this kernel or test a binary
a volunteer to help with Vibrant development
any other Vibrant-specific details that don't apply to Captivate or to SGS in general
I have already built a binary, but it is mostly untested. I want to make it very clear that this is a testing kernel. It should work, it should not break anything... but it might not boot, it might wipe data, I haven't heard of it happening to anybody yet but it's certainly not impossible that it might damage hardware. These are unlikely, except for not working, but are all possible outcomes of trying this kernel. If you want to test this, read the OP in the thread for the Captivate version, have backups of your data ready, preferably duplicated to a hard drive or an SD card that is removed before testing. Have Odin3 and a stock Vibrant kernel on hand, and have ClockworkMod recovery installed.
If it hangs starting up, wait a bit, then pull the battery and start in recovery without trying to start up normally. Then, start clockworkmod, mount /system, and use adb to pull /system/user.log - this should contain a log of what happened when the user init scripts ran, and may provide clues as to what went wrong. You can make sure it doesn't include anything you don't want to reveal, and just PM it to me or join #sgs_dev on freenode and talk to me or some other developers there - perhaps a dev with a Vibrant will have a better idea where to start.
In the long term, I would not mind somebody forking the github repository to work on any Vibrant-specific issues. I can then try to pull changes from a fork and do builds for both phones, if somebody doesn't want to do the Vibrant builds themselves.
Good luck, and thank you.
if no one volunteers by the time I finish installing openSUSE I'll give it a whirl. the binary that is.
Sent from my SGH-T959 using Tapatalk
ill be more than happy to test the binary
I too will be more than happy to give any sort of help possible. Should this be a start from a stock kernel and build deal, ie stock kernel stock rom just rooted with clockwork?
Sent from my Vibrant using tapatalk pro
If you're using a lagfix with the playlogos hack you should undo it first, or set up your user init script to run in the new early user init. Other than that anything that works with a stock kernel should still work.
Sent from my SAMSUNG-SGH-I897 using XDA App
EDIT: "lagfix", thx swype.
Unhelpful said:
If you're using a ladies with the playlogos hack you should undo it first, or set up your user init script to run in the new early user init. Other than that anything that works with a stock kernel should still work.
Sent from my SAMSUNG-SGH-I897 using XDA App
Click to expand...
Click to collapse
I'm about to build from your source i just forked to see whats diff then mine. They look though to be about the same except for nilFS
I will probably fork and maintain a vibrant tree with ivan who also has a Vibrant. That way we can get the best of both worlds. And being that we are in the same IRC we pretty much have identical mods to our kernels.
So most likely any changes you make to your captivate Kernel will end up in the vibrant branch as well and I also have the device to test with
See ya in IRC
anomalous3 said:
if no one volunteers by the time I finish installing openSUSE I'll give it a whirl. the binary that is.
Sent from my SGH-T959 using Tapatalk
Click to expand...
Click to collapse
haha if ur talking about the linux distro i know what u mean
Excellent news! I have some things in my tree I think you could use here, too, but it's much easier to have a developer with a Vibrant who can build them and test immediately.
What advantages does the captivate kernal have over the vibrant kernal, if any?
Sent from my SGH-T959 using Tapatalk
rei165 said:
What advantages does the captivate kernal have over the vibrant kernal, if any?
Sent from my SGH-T959 using Tapatalk
Click to expand...
Click to collapse
The stock captivate kernel doesn't have any "advantages" and wouldn't really work. Unhelpful, however, has added nilfs support to the captivate kernel as well as some other tweaks, and has now made these changes available to the Vibrant community. As I understand it, NILFS mounts, reads, writes, and unmounts faster on our devices than any of the other filesystems he tested, so there's hope for a permanent lagfix.
I tried this kernel, it does boot but my existing lagfix scripts don't work with it, so I lose all my data. No big deal to fix from recovery, just revert to stock before messing with it if you want to test it. As mentioned, no real advantage either way, but it's nice to have options.
If there is interest, I'll fix my lagfix scripts to run on this kernel. Reverting back to JAC OVv4 works without hassle via clockwork.

[Q] Samsung Galaxy S Overclock PLEASE READ

This thread is somewhat different from others. I am fully aware that overclocking requires a custom kernel however with the Application "Galaxy Tuner" my CPU on my SGS i9000 can go 1.2GHZ with a custom Voodo Kernel not supporting Overclock. I am not sure what method the guy uses and he only allows it to be used 2 minutes at a time, so I was wondering if this would be just as risky / safe to do as going into a new kernel and doing such.
If the first is not possible and I would have to use a custom kernel as it is safer, please PM me some kind of contact information as I am afraid I will break my Phone as I use a custom Voodo kernel + DArkys EXTREME ROM 9.X
Still need to know wheter or not it is safe to overclock the way the application "Galaxy Tuner" does or if its SAFER to do it with a custom OC'ing kernel.
If last, I need some help over Skype / msn
I expect an answer when so many viewed this thread....
cocopara said:
I expect an answer when so many viewed this thread....
Click to expand...
Click to collapse
I wouldn't expect anything, just because people like me view it doesn't mean we know anything about it.....why don't you email the author of the app.
spectre85 said:
I wouldn't expect anything, just because people like me view it doesn't mean we know anything about it.....why don't you email the author of the app.
Click to expand...
Click to collapse
Exactly, views don't mean answers! It can be frustrating seeing a lot of views and no answer, but you must acknowledge that viewers may be looking for the answer themselves or just plain don't know. Be patient.
Well. Still, I am wondering about the overclocking that The application uses (Galaxy Tuner) because it manages to overclock a phone WITHOUT a custom OC'ing kernel. Hence i am wondering if it is just as SAFE to do as using a custom kernel.
If not, I need some guidance as I dont know how I can switch my kernel and update my ROM
The code to overclock existed on stock kernel sources apparently, it was just commented out.
When OC in this app is enabled, the CPU governor is changed to performance, and the clocks were changed. So I'd wager it's equivalent in terms of safety to a custom kernel.
Why only do the above for 5 minutes at a time when a custom kernel allows you to always have an overlclock? Just use a custom kernel..
I'm using a custom kernel to overclock to 1.2ghz and my battery is exactly the same as it's always been. I'm also underclocking to 100mhz with setCPU when the phone is idle so that's a big help. It's perfectly stable on mine but CPUs can differ so I suggest that if you do flash a custom kernel with overclock that you start lower and stress test just to make sure there are no issues. Also, don't save any voltage control settings as default until you have applied and stress tested.
Also, make sure to keep a spare kernel in zip form and always have backups.
I use super optimized kernel. Though I am looking for a 500-1000 HZ OC kernel. Any suggestion?
I don't know what method this app is using, but just due to my own paranoia I would say using a kernel with OC is safer. Too many horror stories of apps bricking phones due to small errors or badly written instructions.
Beyond that, it just takes experimenting. I am currently using DamienGTO's Ultimate Kernel OCed to 1200 and have had no problems with it, but there are a lot of high quality kernels available down in the Android Development forum. I suggest you install SGS Kernel Flasher from the market (a great app, makes kernel flashing painless and dead simple), download the newest versions of each kernel that says it supports OC, and spend a day flashing and testing. Just remember to disable any OC/UV, lagfixes or tweaks between flashings.

[Q] Overclock Nexus One Gingerbread?

Hi, I've tried searching but what with the 30 second search delay and all the outdated threads, I'll ask afresh.
I have a rooted N1 with Set CPU running. Is there a simple way to overclock it, and to what speed?
What settings are recommended?
you need a custom kernel, than you can put your clock speed up to the speed, the **** allows you ( 1113, 1150 or 1190 Mhz)
my nexus can handle 1190 mhz, but there are not many kernels for this speed
have fun with your N1
BikerBoy030 said:
you need a custom kernel, than you can put your clock speed up to the speed, the **** allows you ( 1113, 1150 or 1190 Mhz)
my nexus can handle 1190 mhz, but there are not many kernels for this speed
have fun with your N1
Click to expand...
Click to collapse
Sometimes misspellings are both funny and disasterous!
Most people say 1150 is the most you should run at for 24/7 use. I use 1113 on CM7 and the phone seems perfectly happy with this. Whether there is any noticable gain though is another matter
Thanks guys. Is there an easy guide to the recommended new kernel?
Will replacing the kernel lose me any data or SD card stuff or is it safe?
And will new updates like 2.3.4 come in from Google OTA?
Take this rom and you are happy:
http://forum.xda-developers.com/showthread.php?t=653598
2.6.38.4_AVS-CM7_CFS_20110429_1856.ZIP <<< with this,you would be happy
2.3.4? i can't see in the future but why shouldn't it come for our Nexus One
and sorry for my **** :s...i meaned cook of course
edit:
http://www.xda-developers.com/android/android-2-3-4-about-to-roll-out-to-nexus-s-available-for-download-now/
read it
Will this overwrite my data?
I'm confused about the difference between your suggested new "ROM" and the new "kernel" which is actually all I need for overclocking.
Do I have to get a new ROM to get a new kernel, or can I just get the new kernel on its own.
I like to keep things as close to stock as I can.
CJSnet said:
Will this overwrite my data?
I'm confused about the difference between your suggested new "ROM" and the new "kernel" which is actually all I need for overclocking.
Do I have to get a new ROM to get a new kernel, or can I just get the new kernel on its own.
I like to keep things as close to stock as I can.
Click to expand...
Click to collapse
I believe all is required is that you are rooted. Then you can flash a new kernel. Think as a ROM as a new browser you would use to use your phone.
And no flashing kernels do not erase any data. HOWEVER always, always make a backup before flashing anything. Better to be safe than sorry.
Thanks, so the best new "kernel" (rather than ROM) to give me overclocking is?...
Most of the kernels floating around out there are compatible with and made for CM7 or one of its Kang's / and or variants. If you are running a stock ROM, a custom kernel may not be compatible with all of its features, ie the camera may force close etc...
Do a NANDROID, flash a custom kernel and then test. If certain functionalities are gone, restore your NANDROID and either live with stock or try a custom ROM.
Try Kernel Manager from the market
So I flashed CM7 but as predicted the camera doesn't load.
I wasn't able to take a nadroid backup. What else can I do to revert the kernel?
Please help.
Sent from my Nexus One using Tapatalk
CJSnet said:
So I flashed CM7 but as predicted the camera doesn't load.
I wasn't able to take a nadroid backup. What else can I do to revert the kernel?
Please help.
Sent from my Nexus One using Tapatalk
Click to expand...
Click to collapse
Try this kernel: http://forum.xda-developers.com/showthread.php?t=820172
efrant said:
Try this kernel: http://forum.xda-developers.com/showthread.php?t=820172
Click to expand...
Click to collapse
I love you.

[WIP] Kexec (bootloader bypass!) CUSTOM KERNEL (**WORKING**)

** ATTN DEVS **
Not sure if alot of people know about this but i wanted to share and help get the word out there, because i will affect our D4 as well. And the more people that know about it, the better.
kholk has got a custom kernal booting on his RAZR. As we all know the RAZR has a locked bootloader. check out the links to the original threads.
AS OF NOW THIS IS ON THE ETERNITY THREAD
What do we have today?
Kexec. After working with a really good developer, [mbm], finally this has become real.
Linux boots Linux. No signature checks.
Yeah, this is the beginning of custom kernels
Oh, remember that this is still a WORK IN PROGRESS!
Known issues (to be solved):
- CPU1 doesn't come up.
ToDo:
- Fix CPU1
Disclaimer:
The EternityProject isn't responsible of anything you do on your device: if it explodes and kills you, or if it comes to life and becomes something like Terminator, it's YOUR OWN RESPONSIBILITY.
LINK TO TOPIC IN
XDA
THREAD AT
ETERNITY PROJECT
BIG THANKS TO KHOLK, [MBM], ZEIDOF, AND ALL THE MEMBERS OF THE ETERNITY PROJECT TEAM WHO HELPED WITH THIS.
Sounds promising!
Sent from my DROID4 using XDA
this looks great, i hope this can be ported over to the Droid 4 no problem, in your face Motorola! you make great phones, but your bootloader policy sucks
About damn time! I had lost hope in any further development for our phones
Sent from my ICS flavored DROID4
I had decided I would try it on my phone as-is. When I run the script I get what appears to be syntax errors or something.
Code:
bypassme.sh[12]: /system/bypassme/physicalmem: No such file or directory
bypassme.sh[16]: ./kexec: No such file or directory
Hopefully we will get a version compatible with our phones and CM9 soon. I'd like to see something like the 2nd-init exploit that can do it early in the boot process.
From what's been said I think it only works with stock rom. Any custom rom would have to be ported to it. And for the d4 as well
Edit: did you run as su
*** Sent from OCd ICS D4 ***
I modified the bypassme.sh script to
Code:
insmod /system/bypassme/atags.ko
cat /system/bypassme/atags3 > /proc/atags
cat /system/bypassme/physicalmem 0x4A314048 w 0x4444AAAA
cat /system/bypassme/physicalmem 0x4A314048 w 0x44445555
insmod /system/bypassme/functions.ko
insmod /system/bypassme/userspace.ko
cd /system/bypassme/
sh kexec -l zImage --devtree=devtree3 --ramdisk=ramdisk.gz
sleep 10
sh kexec -e
and it runs and displays some funky text but doesn't seem to actually do anything. But is it the same error the CDMA Razr gets or something else?
so does it mean also droid 4 can be used with gsm ?
fatihx said:
so does it mean also droid 4 can be used with gsm ?
Click to expand...
Click to collapse
Yes, but that's old news and the tool that's supposed to allow it is just another thing Motorola has promised to release at some point in the future.
I'm going to show my total stupidity here and ask a very basic question.
If we already have root, custom ROMs and recovery, what does the custom kernel allow you to do?
Sorry for bringing it down to the lowest level and thanks for your patience.
it lets you flash custom kernels (to overclock, underclock, change voltage levels), it also let's you flash custom radios for better reception
Even a safestrap rom remains running off of the Motorola kernel. If we can run our own kernel, we can hack deeper into the device, compile our own drivers, and actually update the kernel itself to the latest one from AOSP. For example, right now we are running Android 4 using a kernel from Android 2.3, kexec would allow us to update that.
Sent from my DROID4 using XDA
as fare as i understand this should let us unlock GSM on the phone for use in Europe
or am i mistaken?
if i am not then how long do you think until we see GSM working?
edit
sorry it was late when i posted that and thought this was something to do with the baseband not bootloader
niai_mack said:
as fare as i understand this should let us unlock GSM on the phone for use in Europe
or am i mistaken?
if i am not then how long do you think until we see GSM working?
Click to expand...
Click to collapse
Someone in the general section under the Droid 4 for Hong Konger claims to have one for GSM enabled.
Sent from my DROID4 using Carrier Pigeons
Kernel?
Sent from my XT910 using xda premium
Possible dumb question. If there is only one sim card slot in this phone that Moto uses for authentification, where would the GSM sim card go?
Apologize if this is a stupid question.
LTE operates on a GSM band erm... gsm standard. (The LTE sim card, I believe is just that... a sim card)
Sent from my DROID4 using XDA
So if a custom kernel can unlock the phone, how would that work with Verizon?
I believe you just flash a radio that corresponds to verizon's specific spectrum vs some other carrier's spectrum like, say, at&t.
Sent from my DROID4 using XDA
This doesn't unlock the phone. It boots stock kernal, then boots a custom kernal on top of it
*** Sent from OCd ICS D4 ***

Help with some concepts!!!

I'm having some problems to understand or find the difference between two concepts:
difference between kernel and firmware...
I really can't find the difference. Thanks for helping me
Sent from my SAMSUNG-SGH-I897 using xda app-developers app
Fersh0o said:
I'm having some problems to understand or find the difference between two concepts:
difference between kernel and firmware...
I really can't find the difference. Thanks for helping me
Sent from my SAMSUNG-SGH-I897 using xda app-developers app
Click to expand...
Click to collapse
I'm still a noob myself, but this is what I think would explain this simply. The firmware is the ROM that you place onto your phone. This encompasses the user interface and overall function as seen by you, the user. The kernel is what tells the device what to do by allowing the hardware and software (firmware) communicate with each other. They're two separate items, but must be compatible in order for the device to function (and even boot) properly. For example, a kernel not meant for captivate firmware won't boot because it can't communicate the right messages to the hardware of the device to normally go through the start-up process. Kernel is also what allows many things to work right since it is hardware-related. Many custom kernels add functions like overclocking, underclocking, and many other tweaks that stock kernels can't. In turn, some beta kernels make the phone lose some functionality such as wifi, data, and video playback because it can't communicate with the phone's internals correctly. To sum it up, kernel is always present as a silent hero behind the firmware which you see and touch on the screen of your phone. The firmware bosses it around, but without a kernel, the firmware is nothing.
Hope this helped you a bit.
From noob to noob thanks a lot! Now I know more about this two concepts, this really helps me to understand better how they works, and at the same time has helped me to clarify and answer other questions that I had.... :laugh: Now I think I´m ready to start rooting my Cappy.
Once again THANKS! Belive me this helped me a lot... :good:
actually, firmware includes both the kernel and the various device drivers (example: graphics/touchscreen driver, modem that runs communications hardware for a specific phone on a specific network).
its the part of the phone's instructions that generally do not change regardless of which applications you install or remove from your phone via google play or other sources.
the rom flashing packages that folks develop and post on xda may include just a kernel, just a modem, or a complete rom that either matches, or differs, from the stock rom by Samsung/AT&T.
here's a link that may help
en.wikipedia.org/wiki/Firmware
Sent from my SAMSUNG-SGH-I897 using xda app-developers app

Categories

Resources