在 OrangePi 5 Plus 上安装 armbian 到 NVME 的 btrfs

发布于 12 天前  44 次阅读


无他,喜欢 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 来查找问题