无他,喜欢 Debian ,喜欢 Btrfs ,但是直接在 OPi5+ 上安装 armbian 在 btrfs 上会启动不了,后来发现可能是 uboot 不能直接引导 btrfs 故出此教程.
此方法的核心是:先烧录到 TF卡 ,插入 Pi ,启动,刷写 mtd ,手动创建 ext4 的 boot 和 btrfs 的 root
下载、烧录、启动 Armbian
前往 https://www.armbian.com/orange-pi-5-plus/ 下载你喜欢的镜像,我喜欢 新内核的 Debian。使用 Etcher 烧录镜像到 TF 卡。

之后将 TF 卡插入 Pi ,不出意外应该可以直接启动,如果不能启动,参考 OrangePi_5_Plus_RK3588_用户手册_v2.1.pdf 的 2.16 使用 RKDevTool 清空 SPIFlash 的方法 清除 SPIflash 之后再尝试启动。启动之后接入键盘设置用户密码,时区。之后便可以直接通过 SSH 进行连接(如果重装系统记得清除自己电脑的 ~/.ssh/known_hosts)
之前遇到直接装安装不上,根据论坛里:https://forum.armbian.com/topic/41543-os-cannot-be-installed/#comment-195254 ,我们可以手动清除 mtd
sudo flash_eraseall /dev/mtd0
刷写的时间较长,三分钟是可能的

之后我们使用 armbian-install
对系统进行安装
Ext4 安装
你可以直接选择第二个选项,并一路 Yes ,进行 ext4 系统的安装


中间提示容量过小多次执行脚本就可,再不行就重启
Btrfs 安装
在清除过 mtd 之后直接选择最后一项即可

我们暂定固态的名字为 nvme0n1
,第一个分区为 boot 分区(nvme0n1p1),使用 ext4 格式,第二个分区为根(nvme0n1p2),使用Btrfs,默认使用 root 用户执行命令
之后使用 cfdisk /dev/nvme0n1
配置好自己想要的分区

接下来格式分区,迁移文件
mkfs.ext4 /dev/nvme0n1p1
apt install btrfs-progs
mkfs.btrfs /dev/nvme0n1p2
mkdir /mnt/root
mount /dev/nvme0n1p2 /mnt/root
mkdir /mnt/root/boot
mount /dev/nvme0n1p1 /mnt/root/boot
cp -r /boot/* /mnt/root/boot/
rsync -aAXHv --exclude={"/proc/*","/sys/*","/dev/*","/mnt/*","/tmp/*","/run/*","/media/*","/lost+found","/boot/*"} / /mnt/root
lsblk -f # 查看磁盘的 UUID
nano /mnt/root/etc/fstab
### 将内容修改为以下,请替换对应的 UUID
UUID=<nvme0n1p2的UUID> / btrfs defaults 0 1
UUID=<nvme0n1p1的UUID> /boot ext4 defaults 0 2
###
nano /mnt/root/boot/armbianEnv.txt
### 修改 rootdev= 为 btrfs 的 UUID
### 修改 rootfstype=btrfs
poweroff
拔出内存卡,再重新开机,即完成 Armbian 在 btrfs 上的安装。

如果不能正常启动,可以重新插入 TF 来查找问题
Comments NOTHING