Gig-OS Live ISO 的 Calamares 图形安装器配置。本仓库只有配置与品牌资源,没有代码;Calamares 本体来自 Portage 的 app-admin/calamares。
安装时整棵 etc/ 复制到目标系统的 /etc/,由 overlay 里的 app-admin/calamares-settings-gig 打包。
| 路径 | 内容 |
|---|---|
etc/calamares/settings.conf |
模块序列与实例注册,安装流程的总装配 |
etc/calamares/modules/ |
各模块配置,一个模块一份 |
etc/calamares/branding/default/ |
品牌资源:标语页、样式表、图片 |
etc/calamares/qml/ |
自定义 QML 界面 |
settings.conf 的 sequence: 定义流程,分 show(界面页)与 exec(执行步骤)两段。要增删步骤就改这里,模块自身的行为改对应的 modules/*.conf。
界面页依次是 welcome、locale、keyboard、partition、users、summary。
默认实例加三个具名实例,承担 Calamares 原生模块做不到的事。具名实例在 settings.conf 的 instances: 注册,默认实例不需要注册:
| 实例 | 配置 | 作用 |
|---|---|---|
shellprocess |
shellprocess.conf |
装机后清理 live 专用配置,如自动登录与免密 sudo |
shellprocess@nvidia |
shellprocess_nvidia.conf |
按所选显卡为目标系统配置驱动 |
shellprocess@zfs |
shellprocess_zfs.conf |
ZFS 根的装机后处理,写 hostid、配置 ZFSBootMenu、拆掉 GRUB 引导物 |
shellprocess@zfspre |
shellprocess_zfspre.conf |
ZFS 根在 bootloader 之前把 grub-install 临时换成 no-op |
这些实例都先探针再动手。非 ZFS 安装时 ZFS 相关脚本直接退出,对 ext4、xfs、btrfs 与 LUKS 完全无影响。
脚本本体不在本仓库,在 Live-ISO 的 include-squashfs/usr/local/bin/,随 squashfs 复制进目标系统。
shellprocess.conf 的清理步骤不是可选项。Live-ISO 的 hooks/99-sanitize-for-release.sh 会检查它存在并已在 settings.conf 里启用,缺失就中止构建,因为装好的系统若残留 live 的免密 sudo 与自动登录,等于留下后门。
改动这两个文件时要同时确认闸门仍然通过。
shellprocess@zfs 必须排在 grubcfg 与 bootloader 之后。因为 bootloader.conf 的 installEFIFallback: true 会让 GRUB 写进 ESP 的 EFI/BOOT/BOOTX64.EFI 与 NVRAM,而 GRUB 读不了 ZFS 池;只有排在其后,脚本才能拆掉 GRUB 的引导物再把 ZFSBootMenu 写成最后生效者。
调整序列时不要把它往前挪。
branding/default/branding.desc 的产品名取自目标系统的 os-release,用 ${PRETTY_NAME}、${NAME}、${VERSION_ID} 引用,因此改产品名要改 Live-ISO 的 hooks/05-os-release-gentoozh.sh,不是改这里。
- Gig-OS/Live-ISO(
KDE分支):构建脚本与 shellprocess 脚本本体 - Gig-OS/gig:打包本仓库的 overlay
- Gig-OS/gigos-mirror:下载站 iso.gentoozh.org