is the core part of Android OS ▸ Activity, Service, BroadcastReceiver, ContentProvider ▸ ActivityManager, WindowManager, SurfaceFlinger ▸ Why Android propose another IPC mechanism? ▸ Feasibility of using Binder IPC on common Linux distros
symbols are not exported by kernel ▸ Naive way: build kernel along with Binder driver statically ▸ Tricky way: kallsyms + function pointer redirection ▸ Run a shell script in Makefile ▸ Generate additional C source and header files ▸ Compile with Binder driver