[Q] about kernels... - General Questions and Answers

I've been wondering for a while, if linux uses one kernel per processor architecture, why android uses one kernel PER DEVICE?
I mean, I could understand something like, one kernel per manufacturer (since samsung uses their partition format, htc locks it's bootloader... etc)... but ONE per device... I think I'm missing something.
Could someone enlight me?

Not an expert on that topic, but there is no such difference between a desktop and android kernel.
If we make the kernels on android alot bigger (include more driver/hardware support) and the phone manufactors start using the same standardized hardware and mechanics (so code can be reused), we could all use the same kernel.
Maybe a kernel dev can shed some more light on this if i'm wrong.

To make the kernel not so big, only the drivers for the device are build.
A phone doesn't evolve like a pc.
It make no sense to include drivers for cdrom or mouse on a phone who can't have it plugged in.

thankyou very much, then to resume: A kernel has to be small, so only the requiered drivers are bundled.

Faux123 usually posts a useful diagram of how the android underlying system works with his Kernels.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Its not only about keeping the kernel size small, but efficient, its what drives the system. As the ARM proc changes, you will need to change the kernel to work with it. Take windows for example, you couldn't install windows on an ARM based pc due to the processor instruction set and how the kernel relays information. You have multiple versions of the ARM proc and different instruction sets used with them. As well as having to include drivers and other tid bits to make the system efficient. The hardware talks to the kernel which inturn talks to everything else such as the ui, as the hardware changes, the kernel usually needs to be changed. They release a kernel for each phone so that you have the kernel that meets your phone's specs.

that leads to another question, why we need ICS kernel and GB kernel?

Related

Porting linux drivers

I know its a sore topic but... how possible is it to port the display drivers from android to wince? My programming skills don't extend to driver development so im unsure as to what it would entail. I have seen many examples of linux drivers ported to win32 and they all seem to work fine, for example i use ext2ifs on a daily basis. I have even seen attempts that go the other way (eg. NTFS for linux). It can't be impossible. I seem to remember in a thread someone said that if they knew what registers were used to control the imageon then they could possibly create a driver. Im thinking that all of this information is somewhere in the linux kernel code - obviously its tailored for linux but the addresses and registers should surely be the same? I have been looking myself and there are a few interesting directories such as kernel/drivers/video/msm and arch/arm/mach-msm. Im currently trying to look through the code so i can put all the required .c and header files in one place. When its done, ill zip it and post it here.
Apologies if this has already been discussed but i couldn't find many responses (i did find someone asking the same question).
I also posted on another thread that i have been in touch with a company that holds some technical documentation for various Qualcomm chips. I am currently waiting to see if it is worth pursuing as it will cost me money and i would like to know that its gonna be useful before shelling out any cash.
The thread is here: http://forum.xda-developers.com/showthread.php?t=357885
Ill just fetch the flame suit...
Completely offtopic:
wow, are you the legend: Shub-Nigga (Quake2)?
troyk said:
Completely offtopic:
wow, are you the legend: Shub-Nigga (Quake2)?
Click to expand...
Click to collapse
yep, you got me!
Dude check this out. Maybe you've seen it, maybe you haven't
I remember seeing someone put Linux on an Ipaq 4700 (Loved that PDA just never got it)
http://handhelds.org/handhelds-faq/handhelds-faq.html
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Don't know if it will help but it's Windows Mobile too.

Storage Speed / Device Encryption

I have been toying around a bit with the feature of full phone encryption (not just the apps and data but also the "sdcard" internal storage partition.
Observation 1 (which may or not be known or evident to you already, but which I still find odd): It is possible to encrypt a "full" or half full device, but it seems to be not possible to go and decrypt the device again later on while retaiing the data (assuming the right password of course). Being a long time user of Truecrypt I find this irritating, one could of course argue it is safety measure of some kind, but I really would see no harm in enabling the possibility. As the password would of course be required to get into the system and initiate the decryption process there is no additional risk - if the attacker already has the password he can use it to gain access and copy the plaintexted data someplace else anyways. So is this caused by architecture of the pre boot authorization, just sloppy and careless coding or am I missing something vital here?
Observation 2: The performance impact with encryption enabled is worse than I would have dared to believe. I used two different SD Card Speed measurement apps from the market to test speed on a regular, non-encrypted setup and on an encrypted setup.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Encryption enabled
Plaintext operation
All other settings in the apps and the device were identical.
Is this sloppy coding or are the Snapdragon CPU just ill-equipped to handle encryption algorithms efficiently enough? I don't really want to get into a grassroots debate here over how useful encryption may or may not be on a device that most of us want s-off and rooted, therefore allowing all sorts of exploits etc. but I am honestly surprised by the heavy performance hit.
Does anyone know what algorithms are used? I assume some run of the mill AES?

[Q] What exactly does a kernel do and can it help battery life?

I am running CleanROM on my Infinity now. It has the 3.1.10that3 kernel. I see all this talk about kernels but I'm not exactly sure what it does.
Is there one I can flash that improves battery life? I assume I flash it with TWRP?
I know that's a total noob question despite my being around these forums for a long time but I don't fool with kernels on my phone and my battery life seems to have gotten a little worse on my tablet since rooting last week.
If you have the time, can you explain?
Thanks!
(I tried searching kernel... huge list of responses... read the official kernel index but it was from 2012 and I think it just covered ASUS kernels...)
A kernel manages system resources (CPU, memory, storage, devices). It offers functionality for user applications to use these resources in a standardized way.
For more details, read this:
http://en.wikipedia.org/wiki/Kernel_(computing)
To extend battery life, you can use power saving mode which limits the maximum CPU frequency. And/or you can use a kernel that allows undervolting, e.g. the that4 kernel, but note that undervolting can result in system instability.
_that offers good information here...
From a fellow layman's perspective and some dabbling with the guts of Windows early on.
For myself the best explanation of the kernel for any OS can be described as an underlayment.
Like the framework of a building...devices are added in the form of resources such as wiring, doors, hallways, rooms and other devices to direct traffic.
Some kernels are complex with tons of featuring others are simple.
Using the building framework analogy again kernels operate in a separate space from the user.
The "kernelspace" is the building and "userspace" is us operating inside the building so to speak.
The guy to ask about light flexible micro kerneling vs the monolithic approach would be Linus Torvalds j\king
Thats OK said:
_that offers good information here...
From a fellow layman's perspective and some dabbling with the guts of Windows early on.
For myself the best explanation of the kernel for any OS can be described as an underlayment.
Like the framework of a building...devices are added in the form of resources such as wiring, doors, hallways, rooms and other devices to direct traffic.
Some kernels are complex with tons of featuring others are simple.
Using the building framework analogy again kernels operate in a separate space from the user.
The "kernelspace" is the building and "userspace" is us operating inside the building so to speak.
The guy to ask about light flexible micro kerneling vs the monolithic approach would be Linus Torvalds j\king
Click to expand...
Click to collapse
Am I the only one having a Fraggle Rock flashback right now?
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
MartyHulskemper said:
Am I the only one having a Fraggle Rock flashback right now?
Click to expand...
Click to collapse
LOL!
Marty you're definitely a character
thanks.button
Hey, just the idea of these little guys being hard at work in my 700 makes me smile.
I am never getting that image out of my head.... :laugh:

[ROM] TabTronics FT10 rk3188 - Custom ROM Firmware

Hi
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
If you have bought one of these tabs and are as unhappy about it as I was then read on.
THESE ARE IN NO WAY 'FLYTOUCH 10' MODELS!
I know what it says in the about page but anyone can spoof a model name in build.prop. These are in fact SuperPad 10s http://www.alibaba.com/product-detail/10-RK3188-quad-core-android-4_1622115746.html Look familiar?
TabTronics lie about the spec of these devices (NO GPS and only 1.4ghz NOT 1.6)! I got mine for free because they wanted me to keep my mouth shut about their false advertising. Just shows how dodgy some people can be.
Anyway, I now have a FREE rk3188 tab to play with. First off spec. The parts inside this tab seem to be a mix of rk3066 and rk3188 gear (Notice the Flytouch 9 is the same form factor and an rk3066?).
Ive seen 2 versions of this firmware now. the one it came with (which was a mix of an M8Pro and a TV stick firmware) and the one on their site (the better one).
Ive built a basic version of the firmware on the site and it runs well!
spec:
2Gb Internal storage (More games/apps) at the cost of external storage (12Gb Free)
De-Bloated
De-Odexed
init.d support
CWM Touch Recovery v6.0.3
Cant remember if its fully rooted but I can show you how if it isnt
Antutu score is around 18k depending on what im doing. Boot time seems to get longer and longer, not sure if its the apps im running or an issue with the firmware (more testing needed). I usually get above the Samsung S3 so that keeps me happy
I fully intend to develop this rom and maybe at some point expand it to other platforms. If anyone is interested in helping me with this project then please pm me
Anyway, here is the link, use batchtool and do a restore (may need to format the internal card on first boot), takes about 10 mins to do the initial setup so dont worry, it hasnt stalled
DOWNLOAD
I hope this helps someone somewhere get the best out of this device. Feel free to comment, good or bad
Cass

just few questions with my old rk3188t tablet

Hello. I have my old tablet based on rk3188t with 1GB RAM and android 4.4. The model is WM-BR8150.
It's made for the education so it is really slow.
this can't even run the educational app properly. So im trying to upgrade the android version and i think it would perform much better than before.
But i couldn't find any firmwares for this model.
뇌새김
서울대 출신 브레인이 개발한
www.brain-study.co.kr
here is the official spec from the manufacturer, but it's in Korean language so i have taranslated it below.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
SO my questions are:
1. Is it possible to upgrade the android version in this tablet?
2. Will it become more faster than before?
3. If avobe questions are positive, what are the procedures to upgrade?
#rk3188
IMO how fast an Android device runs basically isn't related to Android version in use, but mainly depends on its hardware components like CPU/GPU, RAM & monitor, and, not to forget, utilization of device's internal storage medium.
Also, Android can get speed up if it gets de-googled.
jwoegerbauer said:
IMO how fast an Android device runs basically isn't related to Android version in use, but mainly depends on its hardware components like CPU/GPU, RAM & monitor, and, not to forget, utilization of device's internal storage medium.
Also, Android can get speed up if it gets de-googled.
Click to expand...
Click to collapse
Thanks for the replay. I just rooted this tablet and installed some apps to increase the performance like setcpu.
But it is still slow. I cant degoogle it since im using few google apps too.. Also i have some few apps to run in this tablet but because of old android version, i cannot install those apps. It would be great if i can upgrade to androd 5 or 6.
Thanks.
I'm pretty sure upgrading Android will not speed up this tabet. But of course you can do so if you find the needed suitable softwares as these are: Custom Recovery and Custom ROM.

Categories

Resources