手机上安装原生的Linux系统,目前最成熟的三个方案:一个是Ubuntu Touch,另一个是PostmarketOS,还有一个是Mobian。 我注重的是原生LINUX 无限制
- Ubuntu Touch (Ubuntu系统)里面限制太多了,docker 这种安装很麻烦,劝退 (如果不需要原生LINUX还不错)
- Mobian (debian系统) 没用过
- PostmarketOS (Alpin系统) Alpin系统 不方便用 docker 完美运行。
PostmarketOS支持列表:https://wiki.postmarketos.org/wiki/Devices
官网:https://wiki.postmarketos.org/
常考教程:
[手机Linux PostmarketOS]五, docker安装和使用_postmarketos安装docker-CSDN博客
[手机Linux PostmarketOS]一,1加6T真正的手机Linux系统-CSDN博客
安装 PostmarketOS 后提示存储空间不足(low disk space)的解决方法 – XueJie 的博客 (xuejie1.github.io)
一加手机解锁Bootloader(骁龙机型) – Magisk中文网 (magiskcn.com)
前面用Linux deploy软件安装了Linux系统在手机,实则不是真正的手机刷成了linux系统,而是通过Linux deploy软件在容器里安装了Linux系统,在使用方面会有诸多限制,并不能发挥Linux的真实强大之处,于是
我又百度又谷歌(真不容易),找到了真正可以把手机变成砖头,哦不,是变成掌上宝的方法,把手机刷成真正的Linux系统,PostmarketOS是可以在手机上原生运行的Linux系统,基于Alpine Linux开发。刷机后可以在旧手机上体验完整的Linux系统,注意是不要的旧手机哦,别拿新手机玩,容易成砖,你是土豪的话,那我就不劝了。
我不是土豪,我去黄鱼网套了个几百块的二手一加6T手机(8+256G),还是挺心疼的,毕竟我之前的小米6刷这玩意不好刷,本来教程就少,所以就放弃了它。听说1加6手机好刷,可是也踩了很多坑,浪费了我很多时间,毕竟不是在搬砖就是在救砖,还救了两次砖,真是苦逼^o(╥﹏╥)o。
注意:在进行以下操作之前,请务必备份手机数据,并确保你了解刷机过程可能带来的风险。
如不小心搞成砖,可参考这个救砖,不复杂,但扎心。
一. 准备工作
将你的 1+6T 手机在设置系统那里将系统 更新到最新版本。
1.1. 设备
① 一加 6T(OnePlus 6T)、typeC数据线(最好原装数据线,其他不好的线容易出问题,我就踩坑,变砖)
② 电脑(主流操作系统皆可)
③ 网络
1.2. 软件下载
fastboot:
① 电脑上拥有安卓调试工具(fastboot、adb),没有就从这里下载,可选加入系统 PATH 环境变量,不加也可以直接在文件夹运行。
postmarketOS刷机包:
① 进入 postmarketOS 镜像下载页,找到 OnePlus 6T;
② 两个版本可选:指明版本号的 stable 稳定版,edge 预览版,这里选择稳定版;
③ 四个 UI 版本可选,选择其中之一即可;这里选择 phosh
版本;
④ 下载标有 latest
标志的目录中的两个镜像即可;下载完记得解压,我这里踩坑2,又变砖。.
二,解锁 Bootloader
一加 6T 解 BL 锁非常容易,只需要:
① 在 设置
– 关于
中,多次点击版本号以启用 开发者模式
;
② 在 设置
– 系统
中进入 开发者模式
,启用 OEM 解锁
以及 高级重启
;
③ 长按 电源键
,选择重启到 引导加载器
;
根据手机上的提示,解锁设备(UNLOCK THE BOOTLOADER
);
注意:音量加减键控制上下,电源键确定
⑤ 经过较长的等待时间,手机会清除数据并自动开机。
至此,bootloader 已经解锁。
三,刷机
① 将手机重启至 fastboot
模式,连接到电脑;
注意:进入 fastboot
模式,可按住音量键的+键和音量键的-键一起按,然后再按住电源键一会就可以进入fastboot模式。
② 在电脑上打开终端,依次输入:
postmarketOS刷机包一定要先解压为带.img 的文件。
fastboot getvar current-slot fastboot set_active b ##上面的命令已经显示在b 的话就不用执行这条命令了 fastboot erase dtbo fastboot flash boot 下载的 boot 镜像的路径 xxx-fajita-boot.img fastboot flash userdata 另一个镜像的路径 xxx-fajita.img
③ 等待写入完成,重启设备:
fastboot reboot
手机进入重启,要把数据线拔掉。
手机重启完成后,进入系统需要
输入密码:147147 (我怎么知道你密码?我猜的吧)
账号默认为:user
最后进入系统的样子:
打开console 跑linux 命令:
这样你就拥有一台迷你Linux 服务器啦,是不是很鸡冻呢
先别鸡冻,以后的路途还很艰辛,毕竟Alpine Linux 跟centos,ubuntu,redhat 还是有差别的。
四, 启用 SSH
在手机上的console 终端软件中输入:
sudo service sshd start
将 SSH 服务设置为开机启动:
sudo rc-update add ssh
将手机连上wifi无线网,获取设备 IP:
ifconfig
查看当前用户:
whoami
cat /etc/alpine-release
sudo vi /etc/apk/repositories #编辑源配置文件
增加源地址
替换源地址后,更新一下
安装Bash并设为默认终端
PostmarkOS默认的Bash为ash,为了更好的使用选择更熟悉的Bash作为默认终端
sudo apk add bash #安装bash
sudo vi /etc/passwd #修改默认配置以root和user账户为例修改其默认终端
root:x:0:0:root:/root:/bin/ash
root:x:0:0:root:/root:/bin/bash
user:x:10000:10000:Linux User,,,:/home/user:/bin/ash
user:x:10000:10000:Linux User,,,:/home/user:/bin/bash
停用GUI可以节省大量内存,用更多的资源来运行我们的容器等服务。
sudo rc-update del tinydm
然后reboot
重启即可,大约可以节约出500MB以上的内存空间
sudo reboot
这样开机就不会进入图形界面,卡在loading界面,过一段时间后便自动息屏。
需要恢复只需要运行
sudo rc-update add tinydm default
2. 停用modemmanager(可选)
ModemManager用来控制移动宽带(2G/3G/4G)设备和连接,提供统一的高层API接口,类似于NetworkManager进行网络连接的移动宽带设备/连接,说白了就是可以用来管理手机卡,如果不需要插入上网卡做热点机的话,可以考虑将其停用.
sudo rc-update del modemmanager
需要恢复只需要运行下面的指令:
sudo rc-update add modemmanager default