Skip to content

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

calamares-settings-gig

简体中文 · 正體中文 · English

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。

shellprocess 实例

默认实例加三个具名实例,承担 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 与自动登录,等于留下后门。

改动这两个文件时要同时确认闸门仍然通过。

ZFS 根的序列位置

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,不是改这里。

相关仓库

About

calamares settings for Gig OS

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages