[Q] rewriting a hardware linux driver for android use - General Questions and Answers

recently, i am doing a school project on a beagleboard which has android 2.2 ported.
I have to connect a sensor called phidgets 1056 to the board...
however, the drivers provider only got linux driver for the board.
Is it possible to rewrite the source code in the linux driver so that android can use them???
If it is..how can i make it????....I really need help now, so thanks

Related

VMWare image of the source building environment

Hi all, I'm sorry if this has already been asked, i looked for it using Google and the search forum option and while i found this http://forum.xda-developers.com/showthread.php?t=396782&page=145, (using this: http://www.google.com/cse?cx=000825...ource&sa=Search&cof=FORID:0&ie=utf-8&oe=utf-8) it didnt really help me because it's not exactly what i'm looking for
I want to be able to change some bits of code on the os and see how that affects the device (for example, i'd like to change the order of options in the menus and stuff like that) just to get to know the development environment better.
however, I'm using Microsoft windows (vista x64) and cannot build it on this env (according to: http://source.android.com/download --> "To build the Android source files, you will need to use Linux or Mac OS. Building under Windows is not currently supported.").
therefore i was wondering, did anybody make a vmware image that is ready to use that contains the environment and the sources that will only need a source update and can be built immediately after for noobs like me?
I'm sure I'm not the only one running a windows machine and so i guess somebody has already made one for himself, I'm asking if you could maybe share it somehow...
Thanks
E.
Clarification: I'm not talking about the SDK building but rather the actual OS source code so that i can re-build and put on my phone
note: tried this: http://www.koushikdutta.com/2008/12/building-android-source-and-deploying.html, didn't work, but it gives an idea of what I'm looking for...
did u try running a virtualbox with linux? or maybe a macOS off a usb?
vista x64
for windows, have you tried cygwin?
I've installed it just fine in ubuntu in vmware.
I'd about 8 gb. quite hard to make an image out of it.

Darwin fort HTC Dream ?

Hello,
I have a little idea for My G1 :
Can I boot (and find) a DarwinARM Kernel for my G1 ?
I like run Debian on My G1, and I would like run Darwin.
Why Darwin?
I think is the same kernel on the iPhone OS, after the Hackintosh why not iPhoneOS on HTC ?
Thanks !
You definitely won't be able to boot on any *existing* BSD/Mach/Darwin ARM kernel due to certain customizations required. This would require porting several drivers over from the HTC kernel source, and at that, it wouldn't run as a *phone* since none of the HTC binaries would be compatible.
There are also many other parts of android that depend on a LINUX kernel. These could all be solved, but it would be a HUGE undertaking.
If you don't mind my asking, why would you want to? Getting a BSD kernel booting on the thing by itself doesn't offer any benefits, and you can be assured that there are closed source problems both in getting android running over a BSD kernel as well as for getting a more complete applephone OS running on HTC hardware.
Not to mention the near complete uselessness of applephoneOS...
And again... drivers, drivers, drivers. BIG problems here.
FukTheRegister said:
Hello,
I have a little idea for My G1 :
Can I boot (and find) a DarwinARM Kernel for my G1 ?
I like run Debian on My G1, and I would like run Darwin.
Why Darwin?
I think is the same kernel on the iPhone OS, after the Hackintosh why not iPhoneOS on HTC ?
Thanks !
Click to expand...
Click to collapse
FukTheRegister said:
Can I boot (and find) a DarwinARM Kernel for my G1 ?
I like run Debian on My G1, and I would like run Darwin.
Why Darwin?
I think is the same kernel on the iPhone OS, after the Hackintosh why not iPhoneOS on HTC ?
Click to expand...
Click to collapse
Actually, XNU is the kernel that Apple uses for Mac OS X, Darwin and iPhone OS. Darwin is merely the generic name of the OS X platform. It is Mach-based, and uses many BSD components. Its architecture is quite different from Linux.
Why in the world would you replace the kernel and the rest of the system with Darwin? There are no drivers for most of the hardware. Even those open-source drivers being developed by the Replicant project are Linux drivers, which are different from the drivers used in Darwin.
Furthermore, Android (well, specifically Dalvik) only runs on Linux, so you are sacrificing all of your phone functionality. Even if you get drivers for the hardware, you will only have a 528MHz Arm-based computer with a QVGA screen.

[Q] How to Build a Linux Kernel

I have been reading/doing some tablet/phone hacking (rooting, install new ROM with ADB etc). I've been always curious how the custom Kernel is built without the hardware manufacture support. Where do you get the drivers required to build a linux kernel for Xoom? For example, take XOOM. To install new Kernel, you would need the specific drivers for XOOM's WIFI, USB, DISPLAY, CAMERA, Audido etc. These drivers have specific information such as address/configuration etc which are not generic. So how do the Open-Source community obtain those drivers to build the Kernel?
I have been reading about the Android architecture, AOSP, Linux Kernel etc but can't find the answers. I'm an SoC hardware designer. I wrote some lower level drivers, API etc. but have never touch the kernel and above. I'm trying to move out of the hardware into the software space, so I'm looking at this from the bottom up approach.
Sorry if this is a wrong forum to ask this type of question.
Lance

Add an Specific Driver to Android 2.3

Hi, I have an Android TV device that has Android 2.3 (it's a Chinese device) and I'd like to know if someone can help me adding a driver to it. Let me explain...
I've done some research and found that there is a driver for the DVB-T that I want to add. It's here (cateee.net - linux database):
DVB_MB86A20S
So, my question is basically, it's doable without having to compile Android ? I do have root access to the device, but I don't know how to include the Linux driver to an Android device and ensure it's working....
Thanks.

[Q] Why is mobile OS installation flow not like PC OS installation flow

Hi everyone!
I have this question in mind for a long time now. It gets confirmed every time a company decides to make a new mobile OS. Why is it so damn difficult to first install a mobile OS, but even more, why only people with some special knowledge and dedication can port an OS to a new mobile device?
I mean, on a computer we just have to select if we want i386/x86 or AMD/x86_64 installer what ever computer brand or other hardware we do have while on mobile, we need to have a very specific image for our device. We end up with hundreds if not thousands of images of the same version of the OS.
So my question is, why don't we have this work flow to install a mobile OS:
- Flash a generic image on the device
- Run it
- Auto compile a new kernel on the device itself
- Load generic drivers
- If generic drivers don't work, download specific ones
- Continue with installing other regular software
Technical answers are welcomed.
Thanks,
Dragnucs.
Because.
Building the kernel on the device would take a lot of time and most phones do not have the resources to do so (memory and CPU).
Adding a development environment (compiler, libs, etc.) to the install image would make the install image quite large.
Most manufacturers release incomplete code for their drivers. This makes a complete re-creation of them from source nearly impossible.
There is no repository for 3rd party binary device drivers (probably not "legal" to do so). Mobile phones often have a proprietary system UI framework which is never released as source code. The best you can do is either re-create your own (AOSP, CM, AOKP) or borrow the one from the stock firmware release (Touchwiz, Sense).
If your phone needs a "special" network driver, how are you going to transfer one over during your install if you don't already have one. (classic chicken vs egg scenario)
It is much easier to setup one generic build (on a PC or server), then have custom compile scripts for each device you intend to support. Also a lot easier to debug build issues on a full computer than trying to do so on a phone.
In the PC world, you have manufacturer's that have to release binary drivers to Apple/Microsoft for validation and make binary or source drivers available for Linux. In the mobile world, those processes do not exist.
-Mike
Dragnucs said:
Hi everyone!
I have this question in mind for a long time now. It gets confirmed every time a company decides to make a new mobile OS. Why is it so damn difficult to first install a mobile OS, but even more, why only people with some special knowledge and dedication can port an OS to a new mobile device?
I mean, on a computer we just have to select if we want i386/x86 or AMD/x86_64 installer what ever computer brand or other hardware we do have while on mobile, we need to have a very specific image for our device. We end up with hundreds if not thousands of images of the same version of the OS.
So my question is, why don't we have this work flow to install a mobile OS:
- Flash a generic image on the device
- Run it
- Auto compile a new kernel on the device itself
- Load generic drivers
- If generic drivers don't work, download specific ones
- Continue with installing other regular software
Technical answers are welcomed.
Thanks,
Dragnucs.
Click to expand...
Click to collapse
Thanks buddy. :good:

Categories

Resources