Binder driver on Linux

384 views
Skip to first unread message

Kashif Ali

unread,
Feb 19, 2012, 6:57:46 PM2/19/12
to android-platform
Hi,

I have quick question about Android binder driver.

I am trying to install the driver on a Linux machine, mainly to learn.
I am planning to write some services (similar to bctest.c in the
driver directory), to understand the subscription and data flow
between different services.

I managed to compiled it successfully however, having problems loading
the module into kernel (using insmod). dmesg says following:

[187046.886251] binder: Unknown symbol zap_page_range (err 0)
[187046.886479] binder: Unknown symbol put_files_struct (err 0)
[187046.886696] binder: Unknown symbol expand_files (err 0)
[187046.887093] binder: Unknown symbol __put_task_struct (err 0)
[187046.887488] binder: Unknown symbol get_vm_area (err 0)
[187046.887748] binder: Unknown symbol unmap_kernel_range (err 0)
[187046.889362] binder: Unknown symbol __lock_task_sighand (err 0)
[187046.889647] binder: Unknown symbol get_files_struct (err 0)
[187046.890274] binder: Unknown symbol can_nice (err 0)

kallsyms says following:

kashif@yosemite:~/Projects$ cat /proc/kallsyms | grep zap_page_range
0000000000000000 T zap_page_range

The Makefile is:

LINUX_BUILD_HOME=/lib/modules/`uname -r`/build

obj-m += binder.o

all:
make -C $(LINUX_BUILD_HOME) M=$(PWD) modules

Any pointers would be appreciated.

Thanks

+Kashif

Robert Craig

unread,
Apr 18, 2012, 9:39:13 PM4/18/12
to android-platform
Doesn't look like some of those are exported sysmbols. Looking at the
kernel
config it looks like binder can only be built into the kernel (no
module).
This might explain what you're seeing. Might have to rebuild the
kernel each
time

arun gupta

unread,
Apr 20, 2012, 7:04:21 AM4/20/12
to android-...@googlegroups.com
does it mean that linux kernel in android uses static loading of drivers...

regards
Arun Gupta


--
You received this message because you are subscribed to the Google Groups "android-platform" group.
To post to this group, send email to android-...@googlegroups.com.
To unsubscribe from this group, send email to android-platfo...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-platform?hl=en.


Jean-Baptiste Queru

unread,
Apr 20, 2012, 9:56:02 AM4/20/12
to android-...@googlegroups.com
Indeed, we don't use kernel modules, and the kernel is fully
statically linked. Loading modules dynamically takes too long and
results in a poor user experience.

JBQ

--
Jean-Baptiste M. "JBQ" Queru
Software Engineer, Android Open-Source Project, Google.

Questions sent directly to me that have no reason for being private
will likely get ignored or forwarded to a public forum with no further
warning.

Chris Stratton

unread,
Apr 20, 2012, 2:02:30 PM4/20/12
to android-...@googlegroups.com
On Friday, April 20, 2012 9:56:02 AM UTC-4, JBQ wrote:
Indeed, we don't use kernel modules, and the kernel is fully
statically linked. Loading modules dynamically takes too long and
results in a poor user experience.

JBQ

That should probably be "don't use kernel modules very much" or Google doesn't but a lot of vendors do use one or two for things like wifi.

Not that it's exactly relevant to binder

Reply all
Reply to author
Forward
0 new messages