前言
站内已经有了一篇较为详细的教程(传送门:在骁龙(835 845 855等)设备通过UEFI运行Archlinux - Linux - Renegade Project (renegade-project.tech)来指引你安装Arch Linux,但是这篇教程年代略有些久远,而且现今需要执行的安装步骤和教程有所出入,故进行教程重写。
此教程已经经过了我自己一步步的测试,该教程中现在应该不存在任何错误和疏漏以及不详细的细节,理论应该能保证每个人都能顺利安装,但毕竟人总有马虎大意之时,如有错误和疏漏,请在评论区告诉我!
Installtion Guide : Arch Linux ARM for OnePlus 6T (fajita)
警告!
如果您 继续 跟随此教程,您将有可能遇到 如下情况,包括但不限于:
- 设备变砖(即无法开机)
- 设备分区损坏
- 数据丢失
被爸妈毒打一顿
如果您仍要跟随此教程,则表示您已知晓其中的风险,并且除了您没有人会对您损坏的设备负责,教程作者对此不负任何责任,也没有义务帮您恢复设备!
选择权现在在您的手上了!
您已经被警告过了!!!
0. 准备工作
- 懂得基础的计算机常识和术语
- 一台有Ubuntu22.04环境的电脑(可以用wsl,本教程编写时就使用的wsl。虚拟机理论也可以,但不建议用虚拟机)
- 正确配置了环境变量的python环境
- adb工具(最好配置到了环境变量,不然不太方便)
- 已解锁BootLoader
- 设备已root
- 一个termux
- 一个能使用终端的第三方Recovery (如果您找不到合适且好用的Recovery,可以用这个)
- 有救砖的能力
- 能根据实际情况更改后续教程中命令里的路径
- 一颗热爱折腾的心
- 永不言弃
1. 编译内核
首先打开你的Ubuntu环境,如果您使用wsl,您可能需要设置静态dns来让wsl联网
WSL静态DNS设置方法
编辑 /etc/wsl.conf :
sudo nano /etc/wsl.conf
在文件首部添加这一段:
[network]
generateResolvConf = false
保存并退出(按Ctrl + X,再按Y,回车来保存)
然后打开一个cmd窗口,输入:
wsl --shutdown
重新打开你的wsl,输入:
sudo nano /etc/resolv.conf
然后在里面输入以下内容来添加dns (可以把114.114.114.114换成其他的dns):
nameserver 114.114.114.114
保存并退出,在cmd窗口输入:
wsl --shutdown
重新打开wsl,现在你应该可以联网了。
然后前往这个诱人的为sdm845准备的Linux内核的仓库:
查看所有的分支:
选择一个您喜欢的分支(注:如无特殊需求,默认分支即可,并且您应该选择有“sdm845/xxx”的字样的分支,如:“sdm845/6.10-dev”)
本教程以sdm845/6.10-dev为例
前往您的Ubuntu环境,安装如下的依赖:
sudo apt install build-essential openssl pkg-config libssl-dev libncurses5-dev pkg-config minizip libelf-dev flex bison libc6-dev libidn11-dev rsync bc liblz4-tool gcc-aarch64-linux-gnu dpkg-dev dpkg git qemu-user-static zstd
创建一个工作环境便于您进行操作:
cd ~
mkdir workspace
cd workspace
克隆仓库:
git clone --depth=1 https://gitlab.com/sdm845-mainline/linux.git -b sdm845/6.10-dev
# 若您使用其他分支,请把 sdm845/6.10-dev 改为您选择的分支
然后耐心等待克隆完成。
ps:如果失败了,可能是由于网络环境差导致的,您应当重新执行克隆。如果有条件,可以通过科学的上网来加速
Cloning into 'linux'...
remote: Enumerating objects: 90070, done.
remote: Counting objects: 100% (90070/90070), done.
remote: Compressing objects: 100% (83704/83704), done.
remote: Total 90070 (delta 9122), reused 45531 (delta 5430), pack-reused 0 (from 0)
Receiving objects: 100% (90070/90070), 247.93 MiB | 7.42 MiB/s, done.
Resolving deltas: 100% (9122/9122), done.
Updating files: 100% (85019/85019), done.
如果出现了上面的提示,说明克隆完成了。
进入刚克隆好的源码目录:
cd linux
生成 .config 并编译内核:
make ARCH=arm64 defconfig sdm845.config
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc)
然后按几次回车,直到你看见这样的界面了:
然后等待一段时间……
当您编译完成时,您就可以进行下一步了。
ps:请使用5.19以上版本的内核,否则您将需要手动为内核添加音频驱动!
参见:在骁龙(835 845 855等)设备通过UEFI运行Archlinux
2. 制作rootfs
2.1. 进入Arch Linux ARM环境
返回您的工作目录,并下载Arch Linux ARM
cd ~/workspace
wget http://os.archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz
ps:如果觉得速度慢,可以换成这个:
wget https://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/os/ArchLinuxARM-aarch64-latest.tar.gz
接着我们就可以开始制作了,输入如下命令:
dd if=/dev/zero of=archlinux.img bs=1G count=15
mkfs.ext4 archlinux.img
mkdir arch
sudo mount archlinux.img arch
cd arch
sudo tar -xpvf ../ArchLinuxARM-aarch64-latest.tar.gz
等待解压完成后,再输入如下命令来进入Arch Linux ARM的环境:
cd ..
sudo mount --bind /dev arch/dev
sudo mount -t devpts devpts arch/dev/pts -o gid=5,mode=620
sudo mount -t proc proc arch/proc
sudo mount -t sysfs sysfs arch/sys
sudo mount -t tmpfs tmpfs arch/run
sudo rm -rf arch/etc/resolv.conf && sudo cp /etc/resolv.conf arch/etc/
sudo chroot arch
2.2. 初始化系统
- 输入下面的命令来使pacman拉取最新的keyring:
pacman-key --init
pacman-key --populate archlinuxarm
- 换源 (加快国内的访问速度) 并更新系统文件:
(此处换的是清华源)
nano /etc/pacman.d/mirrorlist
#编辑完成后,按Ctrl + X后,按Y,回车来保存文件
#在文件的最顶端添加以下配置,可以同时注释掉其它所有镜像(可选)
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/$arch/$repo
#保存并退出
接着执行以下命令:
pacman -Syyu
pacman -S wget
- 开启pacman的彩色显示 (可选,推荐):
nano /etc/pacman.conf
找到如下内容:
# Misc options
#UseSyslog
#Color
#NoProgressBar
CheckSpace
#VerbosePkgLists
#ParallelDownloads = 5
去除Color前的注释:
# Misc options
#UseSyslog
Color
#NoProgressBar
CheckSpace
#VerbosePkgLists
#ParallelDownloads = 5
保存并退出。
- 添加danctnix源 (可选,不推荐,因为此源在国内速度很慢):
具体步骤
执行如下命令:
nano /etc/pacman.conf
[community]
Include = /etc/pacman.d/mirrorlist
[alarm]
Include = /etc/pacman.d/mirrorlist
[aur]
Include = /etc/pacman.d/mirrorlist
在下面添加:
[danctnix]
Server = https://archmobile.mirror.danctnix.org/$repo/$arch/
保存并退出,然后输入如下命令来添加keyring并更新:
cd ~
wget https://archmobile.mirror.danctnix.org/danctnix/aarch64/danctnix-keyring-2-1-any.pkg.tar.xz
pacman -U danctnix-keyring-2-1-any.pkg.tar.xz
pacman-key --init
pacman-key --populate danctnix
rm danctnix-keyring-2-1-any.pkg.tar.xz
# clean
pacman -Syy
- 卸载旧的内核和firmware并返回Ubuntu
pacman -R linux-aarch64 linux-firmware linux-firmware-whence
exit
- 安装新的内核与firmware
回到您工作目录下的linux文件夹中,并执行如下命令:
cd ~/workspace/linux
sudo make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_MOD_PATH=~/workspace/arch modules_install
sudo make ARCH=arm64 INSTALL_PATH=~/workspace/arch/boot install
然后回到您的工作目录,下载firmware并放入Arch Linux Arm环境中:
cd ~/workspace
wget https://mirror.ghproxy.com/https://github.com/silime/ArchLinux-Packages/releases/download/linux_firmware-20240608/linux-firmware-oneplus-sdm845-20240510.b9d2bf23-1-any.pkg.tar.zst
wget https://mirror.ghproxy.com/https://github.com/silime/ArchLinux-Packages/releases/download/linux_firmware-20240608/linux-firmware-oneplus-sdm845-qcom-20240510.b9d2bf23-1-any.pkg.tar.zst
wget https://mirror.ghproxy.com/https://github.com/silime/ArchLinux-Packages/releases/download/linux_firmware-20240608/linux-firmware-oneplus-sdm845-sensors-20240510.b9d2bf23-1-any.pkg.tar.zst
wget https://mirror.ghproxy.com/https://github.com/silime/ArchLinux-Packages/releases/download/linux_firmware-20240608/linux-firmware-oneplus-sdm845-whence-20240510.b9d2bf23-1-any.pkg.tar.zst
mv linux-firmware-oneplus-sdm845-20240510.b9d2bf23-1-any.pkg.tar.zst ./arch/root
mv linux-firmware-oneplus-sdm845-qcom-20240510.b9d2bf23-1-any.pkg.tar.zst ./arch/root
mv linux-firmware-oneplus-sdm845-sensors-20240510.b9d2bf23-1-any.pkg.tar.zst ./arch/root
mv linux-firmware-oneplus-sdm845-whence-20240510.b9d2bf23-1-any.pkg.tar.zst ./arch/root
重新进入Arch Linux Arm环境:
cd ~/workspace
sudo chroot arch
安装firmware:
cd ~
pacman -U linux-firmware-oneplus-sdm845-whence-20240510.b9d2bf23-1-any.pkg.tar.zst
pacman -U linux-firmware-oneplus-sdm845-sensors-20240510.b9d2bf23-1-any.pkg.tar.zst
pacman -U linux-firmware-oneplus-sdm845-qcom-20240510.b9d2bf23-1-any.pkg.tar.zst
pacman -U linux-firmware-oneplus-sdm845-20240510.b9d2bf23-1-any.pkg.tar.zst
启用一加6T的音频:
wget https://mirror.ghproxy.com/https://github.com/J0SH1X/tfa98xx/blob/mainline/tfa98xx.cnt
mv ~/tfa98xx.cnt /usr/lib/firmware/
修改/etc/mkinitcpio.conf:
nano /etc/mkinitcpio.conf
找到
# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image. This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()
在“BINARIES=()”填入内容,让它变成这样:
BINARIES=(/usr/lib/firmware/qcom/sdm845/oneplus6/a630_zap.mbn /usr/lib/firmware/qcom/sdm845/oneplus6/ipa_fws.mbn)
保存并退出,然后输入如下内容:
ls /usr/lib/modules
#获取内核版本,然后在下面换成你自己克隆到的分支的版本
#你可能需要把这个记下来,因为后面要用!
#下条命令以6.10-dev分支作为例子(6.10.0-rc2-sdm845-g3e9f7c18a3f6)
mkinitcpio --generate /boot/initrd.img-6.10.0-rc2-sdm845-g3e9f7c18a3f6 --kernel 6.10.0-rc2-sdm845-g3e9f7c18a3f6
2.3. 配置系统
- 设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- 设置locale
nano /etc/locale.gen
#找到 en_US.UTF-8 UTF-8,并把前面的“#”去掉
#找到 zh_CN.UTF-8 UTF-8,并把前面的“#”去掉
#保存并退出
locale-gen
- 自定义主机名
#当然,你可以把“OnePlus6T”改成别的
echo 'OnePlus6T' > /etc/hostname
- alarm(Arch Linux ARM内置非root用户)的配置
输入下面的命令, 更改 alarm 用户的密码,并添加到 wheel 用户组
passwd alarm
#输入新密码
#确认新密码
usermod -aG wheel alarm
然后输入下面的命令,安装 sudo,设置 sudo 权限
pacman -S sudo
EDITOR=nano visudo
找到下面这样的一行,把前面的“#”去掉:
#%wheel ALL=(ALL:ALL) ALL
(ps:你也可以选择去掉下面这行而不是上面那行的“#”)
#%wheel ALL=(ALL:ALL) NOPASSWD: ALL
(ps:这会使你在使用sudo时不再需要使用密码,对手机来说很方便,但是不是很安全,选择权在你)
- 安装必要软件包
pacman -S base base-devel dhcpcd iwd grub efibootmgr networkmanager bluez bluez-utils pulseaudio-bluetooth qrtr rmtfs git wget ntfs-3g usbutils modemmanager
systemctl enable NetworkManager bluetooth qrtr-ns rmtfs ModemManager
- 安装 pd-mapper 和 tqftpserv
cd ~
git clone https://mirror.ghproxy.com/https://github.com/andersson/pd-mapper.git
git clone https://mirror.ghproxy.com/https://github.com/andersson/tqftpserv.git -b topic/spdx
cd pd-mapper && make && make install && cd ..
cd tqftpserv && make && make install && cd ..
rm -rf tqftpserv pd-mapper
sudo systemctl enable tqftpserv pd-mapper
- USB 网络
wget https://archmobile.mirror.danctnix.org/danctnix/aarch64/danctnix-usb-tethering-0.2-1-aarch64.pkg.tar.xz
wget https://p64.arikawa-hi.me/danctnix/aarch64/danctnix-keyring-2-1-any.pkg.tar.xz
pacman -U danctnix-keyring-2-1-any.pkg.tar.xz
pacman-key --init
pacman-key --populate danctnix
rm danctnix-keyring-2-1-any.pkg.tar.xz
pacman -U danctnix-usb-tethering-0.2-1-aarch64.pkg.tar.xz
systemctl enable usb-tethering.service
- 安装其他软件,开启功能
中文字体、桌面环境 (你可以把gnome换成别的,但是启动的就不是gdm服务了,请自行更改为别的) 、网络浏览器 (也可以把chromium换成别的)
pacman -S noto-fonts-cjk gnome chromium
systemctl enable gdm
yay
su alarm
cd ~
git clone https://aur.archlinux.org/yay-bin.git
cd yay-bin && makepkg -si
exit
alsa-ucm-conf
wget https://mirror.ghproxy.com/https://github.com/silime/ArchLinux-Packages/releases/download/alsa-ucm-oneplus-0.5.10/alsa-ucm-oneplus-0.5.12-0-any.pkg.tar.zst
pacman -U alsa-ucm-oneplus-0.5.12-0-any.pkg.tar.zst
确保tfa98xx模块加载
echo 'snd-soc-tfa98xx' > /etc/modules-load.d/snd-soc-tfa98xx.conf
通话音频
wget https://mirror.ghproxy.com/https://github.com/silime/ArchLinux-Packages/releases/download/q6voice/q6voiced-0_git20240608-0-aarch64.pkg.tar.zst
wget https://mirror.ghproxy.com/https://github.com/silime/ArchLinux-Packages/releases/download/q6voice/tinyalsa-git-2.0.0+58.r595.20240621.7f06b2f-1-aarch64.pkg.tar.zst
pacman -U tinyalsa-git-2.0.0+58.r595.20240621.7f06b2f-1-aarch64.pkg.tar.zst
pacman -U q6voiced-0_git20240608-0-aarch64.pkg.tar.zst
systemctl enable q6voiced
2.4. 打包
清理终端历史记录,删除无用文件以减小包体积
pacman -Scc
#会出现两次询问,都要输入Y并回车
su alarm
rm ~/* -rf
cat /dev/null > ~/.bash_history && history -c && exit
rm ~/* -rf
cat /dev/null > ~/.bash_history && history -c && exit
#上面没有写重复,这是分别给两个用户清楚的
解除挂载其他分区,但保留arch的挂载
cd ~/workspace
sudo umount ~/workspace/arch/run
sudo umount ~/workspace/arch/sys
sudo umount ~/workspace/arch/proc
sudo umount ~/workspace/arch/dev/pts
sudo umount ~/workspace/arch/dev
用tar打包
cd ~/workspace/arch
sudo tar -czvf ~/workspace/arch.tar.gz *
3. 安装到手机
3.1. 重新分区
首先让手机进入到你的Recovery环境
下载此处的parted分区工具,然后把parted传入手机:
adb push "G:\parted" /sbin
#你需要自行更改parted的文件路径,后面的/sbin不要改!
打开parted:
adb shell
#如果你使用adb操作的话
chmod 755 /sbin/parted
umount /data && umount /sdcard
#如果提示umount: /data: Device or resource busy,请在Recovery内手动取消挂载Data,然后执行umount /sdcard
parted /dev/block/sda
输入p查看你的手机的分区情况:
p
会得到一个表:
Model: SAMSUNG KLUEG8U1EA-B0C1 (scsi)
Disk /dev/block/sda: 253GB
Sector size (logical/physical): 4096B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 24.6kB 32.8kB 8192B ssd
2 32.8kB 33.6MB 33.6MB ext4 persist
3 33.6MB 34.6MB 1049kB misc
4 34.6MB 35.7MB 1049kB param
5 35.7MB 36.2MB 524kB keystore
6 36.2MB 36.7MB 524kB frp
7 36.7MB 305MB 268MB ext4 op2
8 305MB 316MB 10.5MB oem_dycnvbk
9 316MB 326MB 10.5MB oem_stanvbk
10 326MB 334MB 8290kB reserve1
11 334MB 351MB 16.6MB reserve2
12 351MB 352MB 524kB config
13 352MB 3350MB 2999MB ext2 system_a
14 3350MB 6349MB 2999MB ext2 system_b
15 6349MB 6454MB 105MB odm_a
16 6454MB 6559MB 105MB odm_b
17 6559MB 253GB 128GB ext4 userdata
如果你的一加6T不是256GB版本,userdata的大小可能有所出入,但分区情况应当一致。
接下来需要压缩userdata分区来给其他分区腾出位置,如果你知道这一步在做什么,你可以自行按需调整分区分配大小,但不要把userdata完全删除了!!推荐至少留下32G来给Android系统来为分区后重新安装Magisk、Termux和放入rootfs做准备
对于256GB版本,可以这样分区:
压缩userdata分区来给 Arch Linux ARM 和 ESP 腾出空间:
resizepart 17
#手机内部存储的所有内容会在此步全部丢失!请先做好备份!切记!
#输入:135GB
建立分区:
mkpart esp fat32 135GB 136GB
mkpart arch ext4 136GB 253GB
set 18 esp on
对于128GB版本,可以这样分区:
压缩userdata分区来给 Arch Linux ARM 和 ESP 腾出空间:
resizepart 17
#手机内部存储的所有内容会在此步全部丢失!请先做好备份!切记!
#输入:61GB
建立分区:
mkpart esp fat32 61GB 62GB
mkpart arch ext4 62GB 125GB
set 18 esp on
输入q退出parted:
q
然后重新启动到Recovery。
3.2. 初始化分区
adb shell
#如果你使用adb进行操作
mkfs.fat -F32 -s1 /dev/block/by-name/esp
mke2fs -t ext4 /dev/block/by-name/arch
mke2fs -t ext4 /dev/block/by-name/userdata
然后就可以重新启动到Android系统了。
3.3. 获取 UUID
重新安装好Magisk和Termux,备用。
用adb获取UUID,输入:
adb shell
su
#你可能需要在手机上确认给予shell root权限
blkid /dev/block/by-name/arch
记下UUID值,备用。
3.4. 安装 Arch Linux ARM 和 GRUB 引导加载器
将你在 2.4 步骤中打包得到的arch.tar.gz放入手机存储
下载这里的所有文件到电脑,然后解压boot.tar.gz
找到grub.cfg,然后用最熟悉的编辑器打开,找到 UUID ,把它替换成 3.3 步骤中得到的UUID。
UUID一般长的像这样:
a3136376-a245-477a-9222-3a75bc3c9af8
再将文件里的内核版本号更改掉,不然你相当于告诉 GRUB 去引导一个压根不存在的文件:
把这个内核版本号(5.18.0-sdm845-00109-gf7ad1e5036bb-dirty)替换成你在 2.2.6 步骤中得到的内核版本号:
6.10.0-rc2-sdm845-g3e9f7c18a3f6
(ps:上面这个版本号是以 6.10-dev 分支为例的)
保存grub.cfg,打包回boot.tar.gz,然后把esp.zip和重新打包好的boot.tar.gz也放入手机内部存储
在手机内部存储创建boot文件夹,解压boot.tar.gz里的所有文件到里面
直接解压esp.zip到内部存储
打开Termux,输入:
termux-change-repo
#换源以加快国内的下载速度
#按 ↓ 选择到Single,然后按空格,再按回车
#出现长列表后,找到国内的镜像源更换,以清华源为例:
#按方向键 ↑ 或 ↓ 来选择,找到后面写了Mirror by Tsinghua University的那一项,把光标移动过去,然后按空格选中,按回车确认
#等待更新完成
pkg upgrade
#更新所有包确保不会出现奇怪的问题
pkg install root-repo tsu
#安装必要环境
tsu
#需要授权root权限
cd ~
mkdir esp
mkdir arch
mount /dev/block/by-name/esp esp
mount /dev/block/by-name/arch arch
mkdir esp/EFI
把手机内部存储的esp里的文件复制过来:
cd esp/EFI
cp -r /sdcard/esp/* ./
cd ~
然后解压rootfs到arch:
cd arch
tar -xpvf /sdcard/arch.tar.gz
等待执行完成……
完成后,把手机内部存储的boot文件夹里的东西复制到此处的boot文件夹:
cd boot
cp -r /sdcard/boot/* ./
然后把手机暂时放在一边,不要退出Termux!
在电脑上获取并添加dtb文件。你需要去这里,找到最新的非edge版本(教程编写时,v24.06为最新版本,所以此处进入了v24.06文件夹),然后找到oneplus-fajita,进入,再进入phosh文件夹,找到里面标记了latest的文件夹并打开,下载这个boot.img到一台有python环境的电脑:
(ps:嫌慢可以通过科学的上网加速,或者去postmarketOS的国内镜像站,比如清华源,但请注意,镜像同步是有延迟的,有可能不是最新,但概率极小)
下载后,找一个目录,把下载的文件解压到这里得到 .img 文件,在目录里打开cmd,安装 extract-dtb,执行dtb获取:
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple extract-dtb
#可以换成其他的国内镜像站
extract-dtb 20240710-2234-postmarketOS-v24.06-phosh-22.3-oneplus-fajita-boot.img.xz -o .
#末尾有个“.”,看仔细点!
#你需要把上面的镜像名称(20240710-2234-postmarketOS-v24.06-phosh-22.3-oneplus-fajita-boot.img.xz)改成你自己下到的镜像的名称!!!
这样就得到了dtb,dtb名称应当像这样:
01_dtbdump_,OnePlus_6T.dtb
(ps:或者长的类似于这个的东西,但一定不是“kernel_00”!!)
把它改名为“sdm845-oneplus-fajita.dtb”
然后再复制出一份副本,改名为“sdm845-oneplus-fajita-host.dtb”
把这两个dtb文件放入手机内部存储,在Termux输入:
cp /sdcard/sdm845-oneplus-fajita.dtb ./
cp /sdcard/sdm845-oneplus-fajita-host.dtb ./
(注:你的USB OTG是无法使用的,如果想要使用,请参考这里,不在这里提及的原因是修复OTG会让你在Linux充不了电)
4. Arch Linux ARM,启动!!
重启你的OnePlus 6T到BootLoader。例如,使用adb重启:
adb reboot-bootloader
下载这里的UEFI镜像,然后启动uefi。
对于临时启动
fastboot boot G:\boot-fajita.img
#请自行更改镜像文件实际路径!
对于永久安装
刷入到当前boot分区
fastboot flash boot boot-xxx.img
刷入boot_a
fastboot flash boot_a boot-xxx.img
或boot_b
fastboot flash boot_b boot-xxx.img
可用
fastboot set_active a
或
fastboot set_active b
切换a/b
按音量 + 或 - 键移动光标到Arch Linux on #17,然后按电源键确认,再按一次电源键启动。
此时你应当进入 GRUB 引导加载器了,同样使用音量键,选择Arch Linux,然后按电源键启动。
恭喜,你已经成功在你的Oneplus 6T上安装了Arch Linux ARM!
6. 注意事项
电源键默认是suspend,但suspend会导致睡死,只能强制重启,推荐你去设置更改电源键行为,并且把自动suspend和息屏关掉。