Ubuntu Android binder 编译

下载ubuntu 内核源码

binder驱动代码在drivers/android。在标准linux内核下,默认是不编译进去的

  • 通过官网下载

  • 通过命令下载

    sudo apt-cache search linux-source
    sudo apt-get install linux-source 或者 sudo apt-get install 内核版本

    1、命令下载使用

    • 在系统目录/usr/src/下可以查看到下载下来的内核代码压缩包

    tar -jxvf linux-source-x.xx.x.tar.bz2

编译源码

1、编译内核代码依赖安装

sudo apt-get install libncurses5-dev libssl-dev build-essential openssl zlibc minizip libidn11-dev libidn11 libelf-dev bc

2、在源码根目录运行sudo make menuconfig

sudo make menuconfig //弹出如下截图说明上述安装成功

Alt
3、在menuconfig中敲入 “/” 回车搜索 CONFIG_ANDROID_BINDER_IPC Alt 4、第4步中找到配置路径 drivers/android/Kconfig

vi drivers/android/Kconfig //修改下图中两个default为 y保存

Alt
5、运行sudo make bzImage -j4

sudo make bzImage -j4

6、如果出现如下报错

DESCEND objtool
CALL scripts/atomic/check-atomics.sh
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
make[1]: *** No rule to make target ‘debian/canonical-certs.pem’, needed by ‘certs/x509_certificate_list’. Stop.
make[1]: *** Waiting for unfinished jobs…
Makefile:1116: recipe for target ‘certs’ failed
make: *** [certs] Error 2
make: *** Waiting for unfinished jobs…

修改源码目录的.config文件,修改CONFIG_SYSTEM_TRUSTED_KEYS
修改CONFIG_SYSTEM_TRUSTED_KEYS,将其赋空值。
在这里插入图片描述
7、重新sudo make bzImage -j4

安装内核模块

  • 编译安装

sudo make install 1

  • 安装完内核之后,再手动更新一下grub。

sudo update-grub

  • 修改grub启动配置文件

vim编辑/etc/default/grub文件,改动三处:
将 “GRUB_TIMEOUT_STYLE=hidden” 注释掉(在前面加上“#”)。
将 “GRUB_TIMEOUT” 的值改为“15”。
将 “GRUB_CMDLINE_LINUX_DEFAULT” 的值改为“text”。
重新 sudo update-grub

  • 重启选择新内核
    • 重启开机界面按住shift,进入GNU GRUB引导界面中的内核选择加载界面,选择自己编译的内核的正常模式
      选择高级选项: Alt
      选择新安装的内核x.xx.xx版本: Alt
      进入启动界面: Alt
      进入系统,执行uname -a,可以发现内核为新内核了: Alt

binder 测试

链接: 参见文章

root@arm64:~# mount -t binder none /dev/binderfs/
root@arm64:~# ls -al /dev/binderfs/
binder features/ vndbinder
binder-control hwbinder

参考文档

https://blog.csdn.net/Xiaoma_Pedro/article/details/103892980
https://blog.csdn.net/tugouxp/article/details/117616804
http://kerneltravel.net/blog/2021/compile-kernel/
https://www.jianshu.com/p/deebba22240e
https://blog.csdn.net/sinat_31500569/article/details/53871555
https://segmentfault.com/a/1190000017075369
https://blog.csdn.net/qq_36393978/article/details/118157426


  1. 使用make install方式安装内核,就不需要再使用mkinitramfs制作initrd.img文件 了,也不需要再用update-initramfs来更新。这些操作都会由make install自动完成,不需要再手动进行。 ↩︎

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值