将aosc安装至btrfs子卷的尝试

需要:
1.一个可启动,带有btrfs支持的live(AOSC live就可以,下面使用archlinux live主要是为了他的genfstab)
2.AOSC的tarball
例如:https://mirrors.tuna.tsinghua.edu.cn/anthon/aosc-os/os-amd64/desktop/aosc-os_desktop_20240916_amd64.tar.xz
将其保存在电脑非安装的分区/其他u盘

1. 启动任意 Live 环境(使用 Arch Linux 测试可行)

确保你已经从 Arch Linux Live USB 或其他 Live 环境启动,并且有互联网连接。

2. 使用命令行创建 Btrfs 分区和子卷

创建分区

这里可以用fdisk,gparted或者其他工具实现,不多说。注意只需要分一个btrfs分区,后续我们可以用子卷的方式实现/home的隔离等
NOTE:使用uefi的同学请创建一个efi分区,格式为fat32。如果原有可以使用原先的

创建挂载点并挂载分区
sudo mkdir -p /mnt/aosc
sudo mount -o compress=zstd:3 /dev/sda1 /mnt/aosc
创建 Btrfs 子卷
sudo btrfs subvolume create /mnt/aosc/@
sudo btrfs subvolume create /mnt/aosc/@home

这里只实现了/home的隔离,如有需要可以自行创建更多子卷

卸载并重新挂载子卷,同时使用 zstd 压缩
sudo umount /mnt/aosc
sudo mount -o subvol=@,compress=zstd:3 /dev/sda1 /mnt/aosc
sudo mkdir -p /mnt/aosc/home
sudo mount -o subvol=@home,compress=zstd:3 /dev/sda1 /mnt/aosc/home

注意:compress一段是btrfs的透明压缩功能,实测5级可以实现70%的压缩率,在不影响使用的情况下无形中节省了空间
如果cpu性能较弱,可以考虑将zstd后面的数字改为更小,或者直接删除",compress=zstd:3"
如果cpu性能较强并且追求更高的压缩率,可以将3改为更大的数字,最高15

3. 解压 AOSC OS 的 tarball 到 @ 的挂载点

如果你还没有下载 tarball 文件,可以在此时下载:

mkdir /mnt/tar
cd /mnt/tar
wget http://mirror.xxxxx/anthon/aosc-os/your-chosen-tarball.tar.xz

如果已经下载了则将文件所在分区mount到/mnt/tar
解压 tarball:

tar -xpvf /mnt/tar/your-chosen-tarball.tar.xz -C /mnt/aosc

4. 后配置

完成基本安装后,请参考 ArchWiki 的安装指南 进行后续配置。主要包含以下内容:

  • fstab配置:设置fstab
  • 用户配置:添加普通用户、设置密码等。
  • 时区配置:设置正确的时区。
  • Locale 配置:生成 locale 文件,设置语言环境。
  • GRUB 配置:安装和配置 GRUB 引导加载程序。

很详尽,感谢您的分享!不过实际上也可以用我们的 LiveKit 环境完成上述操作

其实是因为在复制live的时候移动硬盘拔的太快…导致aosc的livekit数据不完整无法引导,就用一直存的archlinux搞了233333