写在前面
到目前为止,我已经花了非常多的时间去学习和了解x86架构和RISC-V架构,对它们的指令集编程、指令格式的设计、编译套件的使用都亲自去体会和实践过,学到了很多的东西。但是对于离我们最近的arm架构却了解甚少。为什么说离我们最近呢,那是因为总是捧着手机躺在床上刷视频,那离我们确实够近的。所以探究arm架构已经arm Linux是非常有必要的,在这篇文章开始写之前的一年,我已经进行了解bl锁,刷机,root ,刷模块,改调度等一系列操作。其实Android玩机真的挺有趣的,一旦获取到root权限,可以做很多操作,可以加深对Android系统和Linux内核的理解。但是我认为这样还不够,Android还不够自由,我们完全可以直接在手机上跑Linux.但是我们同时必须要有心理准备 -- 即Linux Phone的软件生态肯定是远远不如Android的,你在Android上能做到的很多很容易的操作,在Linux Phone上会觉得非常困难,并且会缺少很多基础功能,还会出现兼容性问题、内核缺少模块等一系列难以解决的问题,可以说局限性是很大的。最重要的是,它的实用性其实并不是太多,你拿来做移动端桌面确实是不太好用,不过拿来学习Arm和Linux已经很足够了,你也可以拿来当服务器用。就是说你得会折腾以及想折腾,否则这个刷机就不适合你了。
在进行刷机之前,你需要掌握fastbot和adb的基本命令和bootload、recovery的那一套,最好是自己已经刷过了Android系统,这样的话基本上就没什么难度了。如果你不是很清楚刷机流程,可以看一下这个视频。
极客湾刷机教程
把这个视频看完,多看几遍,至少这个解开bl锁是必须学会的。只有解开bl锁你才能对你的手机进行底层操作,这是厂家规定的。
在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。
在解开BL锁之前,用户是无法自由进行刷机操作和ROOT操作的。部分手机官方为了保证手机的安全,为手机设置了BL锁,在BL锁未解的情况下,用户是不能自行刷机或获取ROOT权限的。
这里温馨提示一下,解开bl锁之后相当于进行了“恢复出厂设置”操作,你的所有数据都会消失。所以在正式刷机之前你必须保存数据,除非你和我一样把它作为备用机,数据无所谓。
1、选择
在这样的前提下,我选择了postmarketOS这个Linux ,因为它对Linux Phone的支持最好,软件生态也做的比较多,其他Linux发行版要么不提供Linux Phone,要么就是软件生态不行,基础功能都没有。并且网络上关于postmarketOS的教程也是颇多的,你可以多了解一下。postmarketOS还提供了多个桌面环境,你可以选择其中的一个,或者全部试一遍,这也是一个好处。
2、实验用到的环境
本篇文章刷机用到的桌面端系统还是Fedora ,因为在刷机前你需要解bl锁,这是需要adb和fastboot命令的,其实你用什么系统都行,只要提供这两个命令。
你可以用淘汰掉的老手机,我的话就在闲鱼上淘了一个一加6T,不用太贵,越便宜越好,因为Linux Phone的实用性确实不高,一加6T的SoC是骁龙845 ,我会在后面说明为什么选择这一块SoC来刷机。而且它的配置是8+128 ,如果想流畅一点可以选择8GB内存的,不过鉴于它的实用性不高,大家买便宜一点的就行,到时候如果放着吃灰就不会亏太多。
3、刷机前体验
由于我已经刷好postmarketOS并且体验一段时间了,为了增加读者的阅读兴趣,我先在这里放几张截图,大家可以先“脑补”体验一下。
1.GNOME MOBILE
以上是GNOME mobile桌面,和桌面GNOME是很像的,它对移动端的适配还算好,但其实这个桌面环境体验下来还是会觉得有点难受,特别是在打开自动亮度之后,一直调节,晃瞎你的眼。
这里我用我的主力机去拍我的备用机,GNOME mobile桌面是可以截图的,只是截图之后发到我的电脑会比较麻烦,有线也传不了,所以我就用手机拍摄了,大家见谅。
这样体验下来其实比较难受,它完全不如Android ,不过也能看出来,GNOME mobile已经很努力在适配了,很多地方都在向Android看齐。
由于腾讯linuxqq积极适配Linux端,提供了多个架构的版本,因此是可以在这上面跑linuxqq的,就是体验不怎么样。
用ssh连接之后
虽然说桌面体验不怎么样,不过你可以使用ssh去连接,这样就获得了一个体验正常的终端。不过如果仅仅是想获得终端体验的话,其实它还不如Qemu虚拟机来得方便一些。所以说如果你有合适的旧手机拿来刷Linux还是比较合适的;如果你买一个的话,感觉有点亏,除非拿来做服务器。
2. KDE
KDE这边看起来是比GNOME好看一点,但是实际的体验我觉得没有GNOME好,很多地方的输出都会糊掉,让人眼花缭乱的。因为我在KDE没有待多久,我只留下了这两张图片。
一、基础知识
1、刷机相关的知识
2、postmarketOS相关知识