View Single Post
Old 02-01-2017, 09:08 AM   #6
SKK
Addict
SKK makes transoceanic flights without the assistance of an airplaneSKK makes transoceanic flights without the assistance of an airplaneSKK makes transoceanic flights without the assistance of an airplaneSKK makes transoceanic flights without the assistance of an airplaneSKK makes transoceanic flights without the assistance of an airplaneSKK makes transoceanic flights without the assistance of an airplaneSKK makes transoceanic flights without the assistance of an airplaneSKK makes transoceanic flights without the assistance of an airplaneSKK makes transoceanic flights without the assistance of an airplaneSKK makes transoceanic flights without the assistance of an airplaneSKK makes transoceanic flights without the assistance of an airplane
 
Posts: 210
Karma: 55570
Join Date: Jun 2016
Location: N/A
Device: N/A
Quote:
Originally Posted by knc1 View Post
The difference between the Android OS and the Linux OS is one (or two) additional kernel system calls.

The difference between the Amazon OS and the Linux OS is the display drivers (and some system calls to handle some of the differences).

Unless you are running an application directly on the kernel (hardware) interface, applications should never notice the difference.
Those differences are handled by the system 'C' library and applications are programed against the 'C' library.

The difference between the Android OS applications and the Amazon OS applications is the 'C' library (Bionic vs. GLibc) that they are programed against.

Since Linux uses ELF format libraries, you can run different 'C' libraries concurrently.

I wrote up a long, worked and working, example -
"ARMhf on Kindle" (or similar title, it does have "ARMhf" in it).

That was because the Amazon OS uses a soft float 'C' library build and the Debian/Jessie distribution uses a hard float 'C' library build.

So that thread shows how to install two (2!) different system 'C' libraries on Linux (on the '5 series firmware' Kindles).
(You can install and use concurrently as many different 'C' libraries that you need on an ELF format system.)

I even mentioned in that thread that you could also install a copy of the Bionic 'C' library if you wanted to run Android applications rather than Debian.
AND asked if anyone wanted to see that example.

Zip, Zero, Nada replies - nobody wanted to see how to run Android applications on a Kindle.
Neither did I, so I never included it in the thread.

Your welcome to re-open the thread and show by example how to run Android binaries on the series 5 firmware devices.
You'll have to rip out (or build) a Bionic 'C' library against the Amazon OS kernel headers - but that is almost a non-effort task.
Non-effort because there are already so many build systems out there for doing such a task.

Note:
Since the second (and subsequent) 'C' library is installed in a non-standard location of the system tree, the binary application files have to have a change made in their headers.

There is a tool for that: "patchelf" -
It is attached in that thread and the folks at Buildroot.org included the ability to build it for the host build machine in the Buildroot, build system.
Just for us.

Re-building the single system library file, for which multiple build systems exist, is much easier than replacing the entire OS.

= = = =

Another of my wasted efforts and wastes of time on a subject too technical for the audience of this forum and at the time we still had a few developers here with a background in system's level work.
Thanks for your help!
SKK is offline   Reply With Quote