系统相关
首页 > 系统相关> > 自己DIY一个pinephone——debian与主线linux在红米2(msm8916)上的移植(一)

自己DIY一个pinephone——debian与主线linux在红米2(msm8916)上的移植(一)

作者:互联网

这里有个标题会比较厉害

pine64出品了一个基于全志a64的soc全开源手机,搜了下某宝竟然要接近2000大洋,即使几年前的高通的处理器的性能都可以完爆全志了,搞一个可以运行“正常”linux的高通手机应该还是蛮有意思的。

目前以主线linux为主的比较大规模的linux移动发行版就只有postmarketos,做的真的还可以,用python写的部署工具(pmbootstrap)能够做到一个工具构建文件系统和烧录,但是postmarketos基于的发行版Alpine Linux的软件包都是用musl的c库编译的,musl虽然可以显著降低程序的体积,但是相较于glibc缺很多东西,例如locale的支持、基于electron的程序也跑不了,so要弄一个能用着爽的手机还是要自己动手。。。

目前高通主线支持最好的是msm8916,而这个soc对应小米产品的是红米2,也是咸鱼上比较容易弄到的手机之一,在postmarket os上这个手机也有支持。基本上除了摄像头和充电、otg都驱动了。

和msm8916用的芯片比较相似的开发板是dragonboard 410c,linaro至今都还在更新它的系统,gpu、解码器都有比较新的firmware。又根据postmarketos wiki中得知msm8916的有些机型没有开启secure boot,开启secure boot之后就意味着soc将拒绝加载没有签名的firmware,很幸运红米2没有开启secure boot,这代表着我们可以使用dragonboard的新firmware,拥有更高的可玩性。

但是困难也是有的,一是小米原来的lk并不支持主线带设备树内核的启动,postermarketos给出的方案是用原来的lk去引导另一个魔改过支持主线linux的lk,二是lk初始化好的framebuffer并不能给linux内核,所以在高通的drm起来之前有一段时间手机是没有显示的,需要焊接出串口才能进行调试。没有u-boot之类的东西,对比较菜的我也还是个挑战。

不过最后还是完成了大部分的移植。但是modem没有起来,所以声音是没有的。不知什么原因,mmc0的设备号会变成mmc1,所以rootfs会随机挂载不起来。rootfs用的是基于debian bulleye的mobian,玩apt贼香

标签:主线,红米,boot,lk,高通,pinephone,DIY,linux,msm8916
来源: https://blog.csdn.net/github_38345754/article/details/114291930