What you have to understand about the Android-x86 project BEFORE you get going

172 views
Skip to first unread message

Gerhard Smith

unread,
Dec 11, 2012, 8:17:47 PM12/11/12
to andro...@googlegroups.com
The first thing is to understand the target market for Android:
1. It provides a framework for phone/tablet manufacturers to build Android for their devices. This means that each manufacturer has to provide its own device drivers and interfaces to make Android work. This is VERY different from Linux and Windows distributions that try and provide everything for everybody and the Android model does not map well on the x86 market place. HOWEVER, the benefit is that you don't have to wait for your phone/tablet manufacturer to bring out a new version of Android for your device - you can build it yourself. In many cases the manufacturers will never update your device.
2. Unfortunately Android-x86 still suffers from this architectural deficiency, through no fault of the project. What this means in your life is that there might not be a build that suits your hardware, as nobody has yet compiled Android-x86 with the device drivers etc required by your device.
3. The Android-x86 project has tried to make life as easy as possible, and provided extensive documentation, to compile Android-x86 for your device (if none of the pre-compiled ones work). And we thank them for the extensive amount of work they have done.

So if none of the pre-built iso's work, compile your own - it is not that difficult and can be quite exciting.

JPT

unread,
Dec 12, 2012, 1:07:09 PM12/12/12
to andro...@googlegroups.com
Gerhard, thanks for this info.
What I do not understand is this:
The x86 platform was never a target for android. So there are no manufacturers providing drivers. On the other hand more or less any x86 device is able to run linux without any problems.
Android relies on the linux kernel. So hardware support should be more or less similar to linux? Then, what is the problem?
The connection between kernel mode drivers and android apps?

I agree that there are a lot of tutorials, but some information is outdated, a few things are missing.
I will try to explain the problems I had, and add some requests on where to fix the tutorials.

I followed this guide http://www.android-x86.org/getsourcecode and was successful in compiling. But the result just had some problems I wasn't able to solve. I still have no idea what caused them. Maybe because I built from a 64-bit linux, which causes a lot of trouble until you have got installed all 32 bit libraries you need. Maybe it's because I did not find a hint on how to get the exact source version a downloadable image was built from (ie. a git tag)

After succeeding in compile you have to customize the build. In the meantime I found out there is a menuconfig to configure the kernel. But I did not try it yet.
And there is a guide on how to add a new target device. http://www.android-x86.org/documents/how-to-add-new-x86-platforms

So, could someone please add some additional information to the guide that clarify these problems?
ie.
- tell beginners to prefer a 32 bit linux
- how to find out the tags, which branch to choose.
- Please add the exact git tag to the release info pages instead of the branch
- link to "add new target device"
- link to "CustomizeKernel"

regarding new target:
- where do I start from? (copy the sample device?)
- the other devices contain a lot more files than those that are explained in this page. What about docs on the other files?

I believe these few pieces of information would help a lot.

Thank you very much,

Jan

Gerhard Smith

unread,
Dec 12, 2012, 2:17:52 PM12/12/12
to andro...@googlegroups.com

The x86 platform was never a target for android. So there are no manufacturers providing drivers. On the other hand more or less any x86 device is able to run linux without any problems.
Android relies on the linux kernel. So hardware support should be more or less similar to linux? Then, what is the problem?
The connection between kernel mode drivers and android apps?
Linux drivers will work fine with Android-x86, however, the installer is basic and does not discover each bit of hardware and so install each required driver - instead drivers are built into each iso image as per normal android for phones and tablets. This is why each iso is targeted at a specific device (for x86 read device as each different tablet or netbook that uses different hardware).


tell beginners to prefer a 32 bit linux

This would be the wrong way to go, as of JellyBean, it is only possible to compile (unless you build your own toolchain) in 64bit Linux.


- how to find out the tags, which branch to choose.
- Please add the exact git tag to the release info pages instead of the branch
Just get the latest version for the branch as documented on the get source page. It will get all the pre-defined platform configurations.


- link to "add new target device"
The link is at the bottom of the 'get source' page called 'Customise kernel'. Look through the source tree to find examples of how to add/change items. Be careful to read the documentation (and follow it).

- where do I start from? (copy the sample device?)
That's what I did. If you have a specific problem, post here and someone will try to help. Chih-Wey is quite good at responding to specific questions.

The documentation is good enough and I would rather see the team do work on porting JellyBean than re-write the documents, which is a time-consuming job.


Reply all
Reply to author
Forward
0 new messages