准备操作
进入命令行模式安装系统

由于下面的操作比较多,为了方便复制,可以考虑使用 ssh 远程连接
设置 root 密码
修改 ssh 配置以启用 ssh 远程登陆
1
|
nano /etc/ssh/sshd_config
|
将 PermitRootLogin 前的注释删掉并改成 yes
重启 ssh 服务
格式化硬盘与分区
假设硬盘是 /dev/sda
清除硬盘内容
- 擦掉所有文件系统签名
- 删除 GPT/MBR 分区表
1
|
sgdisk --zap-all /dev/sda
|
分区与格式化
- 用
fdisk 重建 GPT
- 在 fdisk 里依次输入,每行一个命令(期间如果提示分区包含一个 xx 签名,选择 y 移除签名):
g (新建 GPT)
n (新建分区 1:EFI)
回车(默认分区号 1)
回车(默认起始)
输入:+600M
t (改类型)
输入:1 选择 EFI System(通常会让你选类型,直接选 EFI/1)
n (新建分区 2:boot 分区)
回车(默认分区号 2)
回车(默认起始)
输入:+1.4G (如果需要多内核可以调大)
n (新建分区 3:btrfs 系统分区)
- 回车(默认分区号 3)
- 回车(默认起始)
- 回车(用剩余全部空间)
w (写入并退出)
- 写完后检查
你应该看到 `sda1` 和 `sda2` 出现。
- 格式化
EFI 分区(FAT32)
boot 分区(ext4)
btrfs 分区
创建 btrfs 子卷并挂载(@ 和 @home)
- 先临时挂载顶层
1
2
|
mkdir -p /mnt/btrfs-top
mount /dev/sda3 /mnt/btrfs-top
|
- 创建子卷
1
2
|
btrfs subvolume create /mnt/btrfs-top/@
btrfs subvolume create /mnt/btrfs-top/@home
|
- 卸载顶层
- 挂载安装用的根目录和系统分区
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# 挂载带透明压缩的 btrfs 根目录到 /mnt
mount -o subvol=@,compress=zstd:3 /dev/sda3 /mnt
# 挂载独立的 ext4 boot 分区
mkdir -p /mnt/boot
mount /dev/sda2 /mnt/boot
# 挂载 EFI 分区
mkdir -p /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi
# 挂载带透明压缩的 btrfs home 目录
mkdir -p /mnt/home
mount -o subvol=@home,compress=zstd:3 /dev/sda3 /mnt/home
|
安装系统
复制系统文件
- 确认一下你要用的源目录是存在的:
1
|
ls /run/livekit/sysroots/desktop | head
|
如果能列出 `/etc` `/lib` 之类,确认你的 livekit 确实是有离线包,我们就开始使用 rsync 复制
- 执行 rsync 命令复制
1
2
3
4
|
rsync -aAXHv \
--exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} \
/run/livekit/sysroots/desktop/ \
/mnt/
|
生成 fstab
- 先获取 UUID
记住:
- sda3 的 UUID(btrfs 系统分区)
- sda2 的 UUID(ext4 boot 分区)
- sda1 的 UUID(FAT32 EFI 分区)
- 编辑 fstab:
写入(用你实际 UUID 替换):
保存退出
准备 chroot
- 挂载系统目录
1
2
3
4
5
|
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /sys/firmware/efi/efivars /mnt/sys/firmware/efi/efivars
mount --bind /run /mnt/run
|
- 然后进入系统:
如果成功,你的提示符会变化,会被重新定位到 `/`。期间如果提示 “tty: ttyname error: No such device” 错误是正常的。
杂项
- 生成 machine-id
1
|
systemd-machine-id-setup
|
- 重建 initramfs
安装 GRUB(UEFI)
- 确认 EFI 挂载:
没返回是正常的,有这个文件夹就行
- 安装
1
|
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=AOSC
|
- 然后生成配置:
1
|
grub-mkconfig -o /boot/grub/grub.cfg
|
后处理
以下命令仍在 chroot 环境内执行(与 AOSC OS 手动安装指南 中「用户自定义设置」等章节一致)。
设置 root 密码
创建普通用户与 sudo(wheel)
AOSC OS 默认没有可用的登录用户;请把示例里的 aosc 换成你想要的用户名(仅小写字母与数字)。
1
2
3
4
|
useradd -m -s /bin/bash aosc
usermod -a -G audio,cdrom,video,wheel aosc
chfn -f "Your Full Name" aosc
passwd aosc
|
wheel 组用于通过 sudo 获取管理员权限。
设置系统时区
时区文件在 /usr/share/zoneinfo/<地区>/<城市>。例如上海:
1
|
ln -svf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
设置语言 / Locale
默认已启用多种 UTF-8 locale。若只想指定默认语言,例如简体中文 UTF-8:
1
|
echo 'LANG=zh_CN.UTF-8' > /etc/locale.conf
|
也可使用 localectl set-locale "LANG=zh_CN.UTF-8"。
若要启用或禁用个别 locale,需先编辑 /etc/locale.gen,再执行(耗时较长):
设置主机名
从 livekit 复制来的系统主机名可能仍是 livekit,在重启前可改为新主机名:
1
|
hostnamectl set-hostname your-new-hostname
|
退出并重启
1
2
3
|
exit
umount -R /mnt
reboot
|
安装完成

Photo by Frode Myklebust on Unsplash