Tuesday, November 20, 2007

Android - Binder

I haven't been able to run android on my arm platform. I have been too lazy to compile strace to see what's going on. Fortunately, Benno have been working on it and it seems like he's successfully got a strace log.

He's log reveal that the android depends on /dev/binder which is not a standard feature on my kernel. Here is the snippet from his log.

This bit here is pretty important. /dev/binder is the character device for OpenBinder, which is something that you see in the kernel source. This appears to be an IPC sub-system for the Linux kernel. It was at some stage donated by Palm, and there was an OpenBinder.org website for sometime, although that site is now dead. Finding more information on this will be essential.

05:30:51.733954 open("/dev/binder", O_RDWR|O_LARGEFILE) = 7
05:30:51.735488 fcntl64(7, F_SETFD, FD_CLOEXEC) = 0
05:30:51.736483 ioctl(7, 0xc0046209, 0xbef86cbc) = 0
05:30:51.737443 ioctl(7, 0x40046205, 0xbef86cb8) = 0
05:30:51.738385 mmap2(NULL, 8388608, PROT_READ, MAP_PRIVATE|MAP_NORESERVE, 7, 0) = 0x40008000

As he said, OpenBinder.org is already down. But, I've found a link to OpenBinder Documentation on #android.

I haven't read the doc yet but it seems like this is required to run android on my system.

1 comment :

Mad About Wow said...
This comment has been removed by the author.