OnePlus 6 体验 postmarketOS 折腾记录

1. 准备工作

1.1. 设备

① 一加 6(OnePlus 6)、数据线
② 电脑(主流操作系统皆可)
③ 网络(可能需要魔法)

1.2. 环境

① 电脑上拥有安卓调试工具(fastboot、adb),没有就从这里下载,可选加入系统 PATH 环境变量。
② 一些其他刷机必要的保障工作,在此不赘述。

2. 解锁 bootloader

一加 6 解 BL 锁非常容易,只需要:
① 在 设置 - 关于 中,多次点击版本号以启用 开发者模式
② 在 设置 - 系统 中进入 开发者模式,启用 OEM 解锁 以及 高级重启
③ 长按 电源键,选择重启到 引导加载器
④ 将手机连接到电脑,输入:

fastboot oem unlock

根据手机上的提示,解锁设备(UNLOCK THE BOOTLOADER);
注意:音量加减键控制上下,电源键确定
⑤ 经过较长的等待时间,手机会清除数据并自动开机。
至此,bootloader 已经解锁。

3. 刷入 postmarketOS

3.1. 下载刷机包

① 进入 postmarketOS 镜像下载页,找到 OnePlus 6;
② 两个版本可选:指明版本号的 stable 稳定版,edge 预览版,这里选择稳定版;
③ 四个 UI 版本可选,选择其中之一即可;这里选择 phosh 版本;
④ 下载标有 latest 标志的目录中的两个镜像(可能需要魔法);

3.2. 刷入系统

① 将手机重启至 fastboot 模式,连接到电脑;
② 在电脑上打开终端,依次输入:

fastboot erase dtbo
fastboot flash boot 下载的 boot 镜像的路径
fastboot flash userdata 另一个镜像的路径

③ 等待写入完成,重启设备:

fastboot reboot

注意:进入 fastboot 模式,可按住电源键,手机震动的同时按下音量加键。

4. postmarketOS 使用 docker

注意:默认密码是 147147

4.1. 启用 SSH

在手机上的终端中输入:

sudo service sshd start

将 SSH 服务设置为开机启动:

sudo rc-update add sshd

将手机连上无线网,获取设备 IP:

ifconfig

查看当前用户:

whoami

在 Windows 终端(任意 SSH 客户端)中连接上手机:

ssh user@手机IP

其他 SSH 相关问题查看官方百科

4.2. 更换国内源

安装文本编辑器 nano(打开即编辑,Ctrl + O 保存,Ctrl + X 退出):

sudo apk add nano

修改 /etc/apk/repositories,将原内容注释或删除,添加镜像源(类似下面的内容):

# http://mirror.postmarketos.org/postmarketos/v23.12
# http://dl-cdn.alpinelinux.org/alpine/v3.19/main
# http://dl-cdn.alpinelinux.org/alpine/v3.19/community
http://mirrors.tuna.tsinghua.edu.cn/postmarketOS/v23.12
http://mirrors.tuna.tsinghua.edu.cn/alpine/v3.19/main
http://mirrors.tuna.tsinghua.edu.cn/alpine/v3.19/community

更新软件包列表:

sudo apk update

4.3. 安装 Docker

安装 docker 和 docker-compose:

sudo apk add docker docker-cli-compose

可选关闭防火墙:

sudo service nftables stop
sudo rc-update del nftables

修改 docker 服务配置文件,禁用 iptables:

sudo nano /etc/init.d/docker

command_args 中添加 --iptables=false 参数,类似下面内容:

command_args="--iptables=false ${DOCKER_OPTS}"

重启 docker 服务:

sudo service docker restart

输入 sudo -s 进入 root 账户,查看 docker 信息:

docker info

4.4. Docker 配置国内源

创建 /etc/docker目录:

sudo mkdir -p /etc/docker

创建 /etc/docker/daemon.json

sudo nano /etc/docker/daemon.json

添加如下内容:

{
    "registry-mirrors": [
        "https://mirror.ccs.tencentyun.com"
    ]
}

重启 docker 服务:

sudo service docker restart

4.5. 运行 hello-world

在 root 账户下,运行:

docker run --rm hello-world

成功在手机上原生运行 docker!

posted @ 2023-12-27 15:38  CRP-Studio  阅读(1006)  评论(0编辑  收藏  举报