webOS Nation Forums >  Homebrew >  WebOS Internals > WebOS Internals Uber-Kernel
WebOS Internals Uber-Kernel
  Reply
Like Tree17Likes

 
Thread Tools Display Modes
Old 04/20/2010, 07:43 PM   #1 (permalink)
Developer
 
rwhitby's Avatar
 
Posts: 10,555
The UberKernel is available in Preware. It defaults to stock governor and frequencies.

It's only there for people who are willing to have their warranty voided.

If you install it, and don't do anything else, it will operate identically to the stock palm kernel with respect to governors and frequencies, so it is fail-safe out of the box. It includes the additional OPP points (courtesy of unixpsycho, who is working on this kernel), all governors compiled in (but not enabled by default), the new screenstate governor, and the internal CPU temperature sensor.

Install it with Preware. Uninstall it using Preware. Control it with Govnah. Once you have configured it with Govnah, you do not need to leave Govnah running.

Preware: http://install.preware.org/
UberKernel: http://www.webos-internals.org/wiki/...ion:UberKernel
Govnah: http://www.webos-internals.org/wiki/Application:Govnah

For GPL compliance, the source level patches are at git.webos-internals.org Git - kernels/patches.git/tree and they apply against the relevant kernel source code (plus patches) for Palm for the precise webOS version listed in the kernel package. The Palm kernel source and Palm Pre patch for webOS 1.4.1 ar available at Welcome to opensource.palm.com - Palm (and mirrored at http://ftp.osuosl.org/pub/nslu2/sour...6.24-1.4.1.tgz and http://ftp.osuosl.org/pub/nslu2/sour...1-patch-pre.gz by our team to ensure GPL compliance even if Palm closes down their site).

For security transparency, the build script is at git.webos-internals.org Git - preware/build.git/blob - kernels/uber-kernel-pre/Makefile (which includes other makefile fragments from that same git repo, and uses a toolchain built in that same repo). We encourage anyone concerned about security to build their own kernel to verify the build procedure.

The combination of the Linux kernel source, the Palm kernel patches, the WebOS Internals kernel patches, and the build scripts, comprise the full bill of materials for building an exact replica of our kernel binaries and packages from primary sources.


-- Rod
__________________
WebOS Internals and Preware Founder and Developer
You may wish to donate by Paypal to donations @ webos-internals.org if you find our work useful.
All donations go back into development.
www.webos-internals.org twitter.com/webosinternals facebook.com/webosinternals

Last edited by rwhitby; 08/26/2010 at 05:43 PM.
rwhitby is offline   Reply With Quote
Liked by tdkeaveny, ederic, Grabber5.0 and 4 others like this.
Thanked by ABQMD, Angel_of_Death, antaeuz, aughtism, awlom, azteckeeper, baconnbitz2010, BagyiDaw, Barona4, Bazirker, Beninho, benjio, biggnaa20, BigGP, bill2455, Blaize, blake0, bmeehan, bosabilene, bruinhoo, brum, Buffi, CanadianPre, cantstopengland, caryh, ceeskaz, cgibin, Chadney, Chirurgie, ChuckInReno, circadia, cjhlioness, covigner, Cpieler12, craftsman, crholt, crucian4, cuspie, czarphanguye, dcherian, DDBKA, deek74, deewalker, Dem0s, diamond.g, dick-richardson, digitaljok, dirtyfingers, Dragonman, Dreamcatcher, dsevil, dthought, dunivan, dunlap113, Ebag333, ederic, Editor02, e_town, fastamx79, fiera4973, FischOderAal, franzmueller, fxspec06, gerat, GigaS27, gitit20, glitterPiXi, GodShapedHole, gollyzila, Grabber5.0, gsonspre, halfdracula, HebrewHammer, HomeLite, hpsalesguy, isaac.jang216, Jahooba, jakelaw, jasetroncs, jayzien, jc-Treo, jcmarcos, JCTWeb, jellysweep, jfrex, jhoff80, jhoove09, jhp, Jive Turkey, jjdavola, jobito8, Jocelyn84, johnm4, Jonathan I Ezor, jonny6man, josecaguas, jurias, kayphoonstar, KeeganDoomFire, keith826, kill_Dano, kkacatin, kkumar99, KnoxBNYC, kohn, krecony, ktessner, kuduku, lancewright, lastidavailable, Lateralos, lluisinho, LocoTreoGurl, Longster, macd2002, macgyver1267, maclifer, made, mastahaze, Mattykinsx, maxima2k53, mcnick, meandmypre, meekrol, Menelas, michael_guthrie, mihirf2003, Mitrev, mjkjr, mk3, Moretorque05, mrfoo84, MrSaint3, mu7efcer, MudShark22, My3boys1217, myblackz28, neks, netwrkr9, nhatminh305, Nick31, Norq79, notcalvin, oakridge outdoors, odontastic, Ojuice, oman2u, orinoko, P356A, palmuse, phil71, PJaE00, Popper668, PrePlus79, psm9, qole, Queueyou, RafRol, ralph1471, rand0m1, rattical, rdg168, Rennat, rgidseg, riba123, roams11, Rockbeast, rocky6670, rono cluck, RumoredNow, russellraff, SceneThat, seekis, ShenDuHBK, SISGO, SJP0tato, sjsharksfan, Slippy, Sohan24, solarus, somline, Spader, spbb, spudland, sshaka, Stanley Krute, stbuerger, stuarty, sunshine_girl, swimdng, TCWilliams, tdkeaveny, Tetraden, the2ndflood, TheAngelOfElysium, thelelander, thePretender, The_JD, thomascoe, thornev, timjhenry, tiny2nz, toddfoutz, toenee, TomD, tp2386, trakslacker, traviscurren, trickyhero, Trident, ubaisore, UncleD, UnlimiteD3k, usmcloadmaster, Veritas06, Vermithrax, Vij, vza33, weizen, WhoAmI, Willard, wizard83, wmdunkin, wraithnet, xandros9, xanthinealkaloid, Xenoc, yitz0550, Zeitisen
Old 04/20/2010, 08:40 PM   #2 (permalink)
Member
 
thomascoe's Avatar
 
Posts: 142
Is there a command for accessing the internal CPU temperature via the command line?
__________________
Follow me on Twitter

GTalk: thomascoe1

Black Sanyo Katana --> Blue Sanyo Katana --> Sanyo VI-2300 --> Blue LG Rumor --> Blue LG Rumor --> Palm Pre --> Palm Pixi --> Samsung Nexus S 4G
thomascoe is offline   Reply With Quote
Thanked By: Buffi
Old 04/20/2010, 08:53 PM   #3 (permalink)
Developer
 
rwhitby's Avatar
 
Posts: 10,555
Quote:
Originally Posted by thomascoe View Post
Is there a command for accessing the internal CPU temperature via the command line?
Code:
cat /sys/devices/platform/omap34xx_temp/temp1_input
-- Rod
__________________
WebOS Internals and Preware Founder and Developer
You may wish to donate by Paypal to donations @ webos-internals.org if you find our work useful.
All donations go back into development.
www.webos-internals.org twitter.com/webosinternals facebook.com/webosinternals
rwhitby is offline   Reply With Quote
Old 04/20/2010, 08:54 PM   #4 (permalink)
Member
 
shadavis08's Avatar
 
Posts: 9,321
is this the same as the other pre kernel that was developed ?
__________________
ĦṔ-Ḷṫ-Ŧḯη
Here is a direct link to webOS Doc for all carriers
http://www.webos-internals.org/wiki/...octor_Versions
P.S. if i have helped you and you are thankful please hit the thanks button to the right---->

Last edited by Shadavis08; 04/20/2010 at 08:59 PM.
shadavis08 is offline   Reply With Quote
Thanked by Buffi, sdhaynesca
Old 04/20/2010, 09:03 PM   #5 (permalink)
Developer
 
rwhitby's Avatar
 
Posts: 10,555
Quote:
Originally Posted by Shadavis08 View Post
is this super prekernel ?
No, it is not. Please discuss that first-generation webOS 1.4.0 kernel (the kernel binary for which was also developed by unixPsycho a couple of months ago, and has been packaged in a number of different ways since by other developers, and successfully deployed to the general public by those other developers) in the relevant threads for that kernel.

We have offered this next-generation webOS 1.4.1 (and 1.4.1.1) kernel to all other groups for their use if they choose, and you can see we have published the full source code and build procedure for anyone else to use. We encourage anyone else who is packaging kernels to use the same open source process.

This kernel complies with the 7 principles listed at http://bit.ly/next-gen-kernels and includes the true internal OMAP CPU temperature sensor. The packaging is believed to be OTA-safe.

Of course it should go through a proper testing protocol before being made publicly available. That is why this thread is marked as not containing any end-user installable items.

-- Rod
__________________
WebOS Internals and Preware Founder and Developer
You may wish to donate by Paypal to donations @ webos-internals.org if you find our work useful.
All donations go back into development.
www.webos-internals.org twitter.com/webosinternals facebook.com/webosinternals

Last edited by rwhitby; 04/20/2010 at 09:18 PM.
rwhitby is offline   Reply With Quote
Old 04/20/2010, 09:24 PM   #6 (permalink)
Member
 
thornev's Avatar
 
Posts: 326
Rod... I'm not going to do any work with this kernel, but I want to thank you for making this open source platform so transparent. If I were brave and wanted a software project (which I might in the future), this is a great platform. thorne
thornev is offline   Reply With Quote
Old 04/20/2010, 10:13 PM   #7 (permalink)
Member
 
Posts: 4
Question for the dev's - is anyone looking at patching the kernel to use the BFS scheduler or to utilize compache?

I ask because BFS might be able to help with perceived speed and compcache might be able to help us in regards to the tight memory space we have to work with.

Here is a post I made in the developer.palm.com forums back in October that did not seem to get anyone's attention:

I like my Palm Pre so far but, more than anything, I would like to see some speed improvements. Primary, I would like to urge the Palm developers to look at patching the kernel with the BFS scheduler. It is specifically designed for "lower spec machines" (see the patch developer's page - http://ck.kolivas.org/patches/bfs/bfs-faq.txt). Despite its politically incorrect name, this scheduler is currently all the rage with the homebrew Android community (check out the Android developers at xda-developers for examples). I have also read reports that it will be added the the mainline Android release in the near future.

Another possible Linux tweak that could be beneficial would be using compcache (see compcache - Project Hosting on Google Code). From the project's web page:
Quote:
This project creates RAM based block device (named ramzswap) which acts as swap disk. Pages swapped to this disk are compressed and stored in memory itself. Compressing pages and keeping them in RAM virtually increases its capacity. This allows more applications to fit in given amount of memory.


If no one is looking at these yet - you may want to at least check them out.
uiucryan is offline   Reply With Quote
Thanked By: Buffi
Old 04/21/2010, 01:05 AM   #8 (permalink)
Developer
 
rwhitby's Avatar
 
Posts: 10,555
Quote:
Originally Posted by uiucryan View Post
Question for the dev's - is anyone looking at patching the kernel to use the BFS scheduler or to utilize compache?

I ask because BFS might be able to help with perceived speed and compcache might be able to help us in regards to the tight memory space we have to work with.

Here is a post I made in the developer.palm.com forums back in October that did not seem to get anyone's attention:

I like my Palm Pre so far but, more than anything, I would like to see some speed improvements. Primary, I would like to urge the Palm developers to look at patching the kernel with the BFS scheduler. It is specifically designed for "lower spec machines" (see the patch developer's page - http://ck.kolivas.org/patches/bfs/bfs-faq.txt). Despite its politically incorrect name, this scheduler is currently all the rage with the homebrew Android community (check out the Android developers at xda-developers for examples). I have also read reports that it will be added the the mainline Android release in the near future.

Another possible Linux tweak that could be beneficial would be using compcache (see compcache - Project Hosting on Google Code). From the project's web page:


If no one is looking at these yet - you may want to at least check them out.

If BFS can be added as an additional scheduler that is disabled by default (I assume it can), then there is no reason why it couldn't be added to uber-kernel once the patch has been tested (perhaps through one of Steve's alpha kernels).

Similarly for compache. The principle is that the uber-kernel has to operate like the stock kernel by default, until you explicitly enable new features (with the exception of passive features like the temp sensor).

We can have yet another bleeding-edge kernel for other stuff if we need it ...

-- Rod
__________________
WebOS Internals and Preware Founder and Developer
You may wish to donate by Paypal to donations @ webos-internals.org if you find our work useful.
All donations go back into development.
www.webos-internals.org twitter.com/webosinternals facebook.com/webosinternals
rwhitby is offline   Reply With Quote
Thanked by Buffi, zinge
Old 04/21/2010, 02:35 AM   #9 (permalink)
Member
 
Posts: 323
what does this mean for the average user who doesn't use cmd line operations?
(layperson)
double1 is offline   Reply With Quote
Thanked By: Buffi
Old 04/21/2010, 02:58 AM   #10 (permalink)
Developer
 
rwhitby's Avatar
 
Posts: 10,555
Quote:
Originally Posted by double1 View Post
what does this mean for the average user who doesn't use cmd line operations?
(layperson)
Once this is tested, and services and applications are written (or existing ones modified) to control it, then you will have a single unified next-generation kernel which can run at 125MHz, 250MHz, 500MHz, 550MHz, 600MHz, 720MHz or 800MHz from a single kernel, and can measure the true internal CPU temperature (not the thermally distant battery temperature).

The kernel defaults to factory settings, so is perfectly safe to install and run as-is. Increasing the frequency above factory settings is done by separate services and applications. If you don't install the separate services and applications, then it operates exactly like the factory default Palm kernel (with the addition of a passive internal CPU temperature sensor).

The kernel packaging is OTA-safe (like AUPT does for patches), checks the webOS version to make sure you don't install a 1.4.0 kernel on a 1.4.1 device, checks the cryptographic md5 checksums on all files it is replacing to make sure they are all in a pristine factory state before installing the replacement, and can be uninstalled simply by orange+tap on the icon (restoring all those files back to the pristine factory state).

The source code and build procedure is open and transparent, and is available for anyone to use under the GPL license.

This is what the temperature sensing looks like in normal operation (yes, the icon is showing the true internal CPU temperature, and changes dynamically as the CPU temperature changes):



-- Rod
__________________
WebOS Internals and Preware Founder and Developer
You may wish to donate by Paypal to donations @ webos-internals.org if you find our work useful.
All donations go back into development.
www.webos-internals.org twitter.com/webosinternals facebook.com/webosinternals

Last edited by rwhitby; 04/21/2010 at 03:06 AM.
rwhitby is offline   Reply With Quote
Old 04/21/2010, 04:53 AM   #11 (permalink)
Member

 
Posts: 6,869
So I've read before that the conservative governor is the best for a battery-powered device, so I've been giving that a try for half an hour now. Without changing any of the other parameters, it seems to be scaling pretty much perfectly from 125MHz to 800MHz so far. The ondemand governor would stumble on video content because it wouldn't increase the speed fast enough. The conservative governor is having no such issues as of yet, though obviously I haven't done enough testing to know for sure yet.

I haven't seen any complete lockups yet either, which the ondemand scaler did on my Pre on occasion if I let it scale all the way down to 125MHz.

Don't know the effects on battery yet either, but if conservative works as well as it seems scaling from 125-800MHz, it's got to be better than the 500-800MHz ondemand I was using.

Out of curiosity though, what's the point in the kernel giving an icon in the launcher? If I'm not mistaken, nothing happens when you try to launch it anyway other than a blank card, right?
jhoff80 is offline   Reply With Quote
Old 04/21/2010, 05:02 AM   #12 (permalink)
Developer
 
rwhitby's Avatar
 
Posts: 10,555
Quote:
Originally Posted by jhoff80 View Post
Out of curiosity though, what's the point in the kernel giving an icon in the launcher? If I'm not mistaken, nothing happens when you try to launch it anyway other than a blank card, right?
That's so you can orange+tap to uninstall the kernel. We're working on a better pop-up screen for it (like the one you get from the Package Manager Service when you first install it), and who knows, we may even get it to dynamically update with the current frequency, like we're now doing with the internal CPU temperature and the Govnah app (see the post above yours for a screenshot) - I reckon a tiny 125,250,500,550,600,720 or 800 on Tux's tummy would be perfect.

-- Rod
__________________
WebOS Internals and Preware Founder and Developer
You may wish to donate by Paypal to donations @ webos-internals.org if you find our work useful.
All donations go back into development.
www.webos-internals.org twitter.com/webosinternals facebook.com/webosinternals
rwhitby is offline   Reply With Quote
Thanked by Buffi, garavin, RafRol
Old 04/21/2010, 05:19 AM   #13 (permalink)
Member
 
mamouton's Avatar
 
Posts: 5,719
I notice the govnah app in preware will th temp sensor work with any kernel or does the kernel in Preware have to be installed?
mamouton is offline   Reply With Quote
Thanked By: Buffi
Old 04/21/2010, 05:24 AM   #14 (permalink)
Developer
 
rwhitby's Avatar
 
Posts: 10,555
Quote:
Originally Posted by mamouton View Post
I notice the govnah app in preware will th temp sensor work with any kernel or does the kernel in Preware have to be installed?
You must use a kernel with the internal CPU temperature sensor code included. We have published the patch for the 1.4.1 kernel source code, so anyone building a 1.4.1 kernel can easily add that patch to enable the omap34xx_temp sensor.

The Uber-Kernel in the WebOS Internals testing feed includes the sensor. Note that it defaults to factory speeds, but can of course go up to 800MHz like every other kernel, cause it uses the same overclocking patch back-ported from the omap3440 mailing list by Marco (unixPsycho) over two months ago.

I believe that the CPUScalerUltimate app can also be used to control the uber-kernel, but it does not yet read the internal CPU temperature sensor.

-- Rod
__________________
WebOS Internals and Preware Founder and Developer
You may wish to donate by Paypal to donations @ webos-internals.org if you find our work useful.
All donations go back into development.
www.webos-internals.org twitter.com/webosinternals facebook.com/webosinternals

Last edited by rwhitby; 04/21/2010 at 07:32 AM.
rwhitby is offline   Reply With Quote
Old 04/21/2010, 05:35 AM   #15 (permalink)
Member
 
mamouton's Avatar
 
Posts: 5,719
Just be sure I am clear please forgive the question if it doesn't make sense.

So to use the Uberkernel in Preware there has to be a script written to access the 800mhz range or can we use the cpu scaling like steve has used in his threads with the uberkernel?
__________________
My contributions to customizing the Palm Pre.

Browser Mega Mix|Email Mega Mix|Additional Sync Days|
Disable Various Phone Sounds|Priority Discard Buttons|

Last edited by mamouton; 04/21/2010 at 05:49 AM. Reason: clarification
mamouton is offline   Reply With Quote
Old 04/21/2010, 05:45 AM   #16 (permalink)
Developer
 
rwhitby's Avatar
 
Posts: 10,555
Quote:
Originally Posted by mamouton View Post
Just be sure I am clear please forgive the question if it doesn't make sense.

So to use one of the Uberkernels in Preware there has to be a script written to access the 800mhz range or can we use the cpu scaling like steve has used in his threads with the uberkernel?
There should only be a single Uber-Kernel visible in Preware. The Palm Kernel and Stock Kernels do not contain the temp sensor.

The governor parameter interface in /sys is the same for all kernels (depending on the governor module chosen), so you should be able too use all the same techniques. The applications like CPUScaler and Govnah (in the future) just wrap a nice interface on those techniques.

Note that we're also working on ways to be able to change the CPU speed from the keyboard (orange+sym+f,g,x,c), but haven't completely cracked that one yet.

-- Rod
__________________
WebOS Internals and Preware Founder and Developer
You may wish to donate by Paypal to donations @ webos-internals.org if you find our work useful.
All donations go back into development.
www.webos-internals.org twitter.com/webosinternals facebook.com/webosinternals
rwhitby is offline   Reply With Quote
Thanked by Buffi, mamouton, the2ndflood
Old 04/21/2010, 08:17 AM   #17 (permalink)
Member
 
Posts: 217
Quote:
Originally Posted by rwhitby View Post
There should only be a single Uber-Kernel visible in Preware.
-- Rod
I've got the testing feed configured in Preware, but I don't see Uber-Kernel. Was it removed?

EDIT: Never mind. I fat fingered the testing URL, and I did not have the armv7 URL configured at all. Now it shows up. Thanks!

Last edited by SilvrDrgn; 04/21/2010 at 08:28 AM.
SilvrDrgn is offline   Reply With Quote
Old 04/21/2010, 10:25 AM   #18 (permalink)
Member
 
Jonathan I Ezor#IM's Avatar
 
Posts: 563
Thanks, Rod and folks. I've gotten brave enough to try various kernels, and I've cleared another to try this one. Looking forward to future development all around; I really appreciate those who allow my device to "be all it can be." (If only Dmitry Grinberg of PalmPowerups was into webOS!) {Jonathan}
__________________
Prof. Jonathan I. Ezor
Writer, PreCentral
Past Palm Real Reviewer
@webOSquire on Twitter
Jonathan I Ezor#IM is offline   Reply With Quote
Thanked By: Buffi
Old 04/21/2010, 11:45 AM   #19 (permalink)
Member

 
Posts: 6,869
So 6 hours later, the conservative governor with everything else set to the defaults has been rock-solid, more than I can say about the ondemand governor with other kernels. However, it has been noticeably slow at kicking things up to the next gear and that's been a bit frustrating. I think I'll probably attempt 250-800MHz to see if that feels better.
jhoff80 is offline   Reply With Quote
Liked by shevlini likes this.
Thanked By: Buffi
Old 04/21/2010, 11:48 AM   #20 (permalink)
Member
 
mu7efcer's Avatar
 
Posts: 915
So from the thread, I gather that the main differences with this kernel from the one developed by unixpsycho and caj2008 are:
  • this one is fully open - meaning that instructions to build, and build requirements are available to anyone with the skill - e.g. it meets the 7 requirements laid out here.
  • this one has the actual CPU temp sensors available as opposed to only the battery sensors
  • this one has more governors than just userspace and ondemand. conservative was mentioned. Are the rest (powersave & performance) included?
Is there anything else?

Update: Nevermind. After I loaded the feed, I found the diffs in the description in preware.
__________________
Twitter: dullgeek

Last edited by mu7efcer; 04/21/2010 at 12:24 PM.
mu7efcer is offline   Reply With Quote
Thanked By: Sweet Casey
Reply

 

Tags
uberkernal ota, uberkernel

Thread Tools
Display Modes



 


Content Relevant URLs by vBSEO 3.6.0