无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 1325|回复: 3
打印 上一主题 下一主题

[分享] 关于安卓10使用libhybris的一些记录经验

[复制链接]
跳转到指定楼层
1#
发表于 2022-5-21 19:08:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
libhybris是让安卓上的chroot或proot容器中的linux发行版本直接调用安卓bionic libc的兼容库,
但是linux的glic与安卓的bionic libc 之间存在TLS冲突
要解决这个冲突问题 三种方式来解决
1.修改一下安卓的bionic libc的源码,然后重新编译一份安卓bionic  ubuntu touch就是这么干的
2.修改一下glic的源码并重新编译,此办法导致的后果就是,所有的基于glic的软件都需要重新编译,似乎termux就是走的这条路线
3.是用hook这种方式重新实现所有bionic libc的函数,不过部分函数用汇编实现,能hook一大部分.
对于普通人想要折腾libhybris在chroot上正常使用 那我们肯定是不能改代码的!
所以我想到了一个折衷的办法
先去ubuntu touch官网找一个支持的手机型号,把它的ubuntu的包下载回来,解压后会得到一个android_rootfs.img的文件
我们解压这个img文件可以得到一份魔改后编译好的bionic libc的库文件
安卓10或更高版本都是支持gsi刷机包的  这意味着安卓的bionic libc库应该是通用的,当然这种通用可能部分硬件还是有问题.
但是我们在安卓跑chroot linux的时候  网络直接使用安卓内核接口 这个不存在问题
声音 这个也是直接使用内核接口 也是没有问题的
那么最后的问题全都是gpu调用了
如果运气好,你提取到一份bionic libc的库 你在编译一下最新版本的libhybris 那就可以让chroot容器里面跑的debian或是ubuntu
用上gpu 的opengl es和vulkan硬件加速
也可以在chroot容器中使用virio-gpu来模拟一张支持opengl的虚拟显卡   
这个虚拟显卡需要的服务器可以用overlay 0.0.8安卓版提供  
也可以由termux中的zink提供



2#
发表于 2022-5-22 11:05:48 | 只看该作者
硬核点赞👍
回复

使用道具 举报

3#
发表于 2022-10-14 08:49:17 | 只看该作者
楼主是玩旧手机的牛人
回复

使用道具 举报

4#
发表于 2022-10-14 13:10:08 | 只看该作者
看看这个帖子,了解一下安卓10如何使用 libhybris 啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-24 19:59

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表