calamares 的配置定制(一)

根据 Magic 的配置要求定制 calamares 的配置。

首先是 calamares 的主配置文件,settings.conf,这个文件是顶级的文件,实际上控制着其它配置,我挑主要的说。对了,calamares 的配置文件是yaml格式,必须得注意空格。

modules-search: [ local ]

这个配置是指定在哪里搜索配置文件,默认为 local ,含义是 模块位于$LIBDIR/calamares/modules目录下,且设置位于/usr/share/calamares/modules或/etc/calamares/modules目录下。其它的配置都视为路径,并且是相对于calamares的启动位置的,所以如果要改,尽量用绝对路径,Magic不修改此配置。


#instances:
#- id: licenseq
# module: packagechooserq
# config: licenseq.conf

上面这段配置是实例配置,大概等于自定义模块吧,Magic 暂时用不着,不用管它。


sequence:
- show:
- welcome
# - notesqml
# - packagechooserq@licenseq
- locale
- keyboard
- partition
- users
# - tracking
- summary
- exec:
# - dummycpp
# - dummyprocess
# - dummypython
- partition
# - zfs
- mount
- unpackfsc
- machineid
- locale
- keyboard
- localecfg
- luksbootkeyfile
# - luksopenswaphookcfg
- dracutlukscfg
- fstab
# - plymouthcfg
# - zfshostid
# - initcpiocfg
# - initcpio
- users
- displaymanager
- networkcfg
- hwclock
- services-systemd
- dracut
# - initramfs
- grubcfg
- bootloader
- packages
- umount
- show:
- finished

上面是关键配置,配置的是使用哪些模块,模块的执行顺序,其中-show:下的模块是显示的界面模块,-exec:下的模块是运行命令的模块,具体的模块内容后续再说。Magic目前只加了一个执行模块。

 branding: auto

这个配置是指定品牌配置目录,就是安装过程中显示的一些信息,这个目录是指在/usr/share/calamares/branding 或 /etc/calamares/branding 中的目录(etc中的优先),该目录必须包含一个 YAML 文件 branding.desc,该文件可以以相对于当前目录的路径引用其他资源(如图像)。 品牌组件还可以附带一个用于执行页面的QML幻灯片,以及翻译文件。这里只需指定品牌组件(目录)的名称,Calamares 便会负责查找并加载其内容。默认的auto,就是自动查找,magic暂时不做调整。

prompt-install: false

如果此项设置为 true,Calamares 将在每个执行阶段之前,即在不可逆点处,显示“您确定吗?”的提示。如果设置为 false,则不会显示任何提示。Magic设置为false。

dont-chroot: false

如果此设置为 true,Calamares 将在当前环境中执行所有目标环境命令,而不使用 chroot。此设置仅应在将 Calamares 设置为安装后配置工具时使用,而不是作为完整的操作系统安装程序。所以Magic的设置是false。

oem-setup: false

如果此项设置为 true,Calamares 会将自己称为“设置程序”而不是“安装程序”。默认为 dont-chroot 的值,所以同上。

disable-cancel: false

如果此项设置为true,则“取消”按钮将完全被禁用,该按钮会直接隐藏。 如果Calamares被用作安装后的配置工具,并且您要求用户完成所有配置步骤,那么这将非常有用。所以Magic设置为false。

disable-cancel-during-exec: false

类似上一个配置,不过如果设成 true,会在点击“安装”按钮后的执行过程中不显示“取消”按钮。Magic设置为false,安装过程中可以取消。

hide-back-and-next-during-exec: false

这个是在点击“安装”按钮后的执行过程中是否显示“后退”和“前进”按钮,默认为false。

quit-at-end: false

这是在安装完成后是否自动退出,设置为true则自动退出,默认为false。

以上涉及bool值的设置,即使是使用默认值也要设置,否则会报错。


welcome模块:

welcome模块是一个显示模块,就是安装程序启动后的第一页。同时这个模块还有测试是否符合安装条件的功能。

showSupportUrl: true
showKnownIssuesUrl: false
showReleaseNotesUrl: false

上面三个设置项是设置是否在欢迎界面显示有关的信息,并提供URL访问,第一个是支持页面,第二个是有已知问题页面,第三个是发行注记页面,URL配置在branding.desc里。Magic暂时用以上配置。

showDonateUrl: false

这个没用了,保持就行。

requirements:
    requiredStorage: 10.0
    requiredRam: 4.0
    internetCheckUrl: https://apt.linuxfans.org/files/hotspot.txt
    check:
        - storage
        - ram
        - power
        - internet
        - root
        - screen
        - "false"
        - slow-true
        - snark
    required:
        - storage
        - ram
        - root

上面这个配置就是安装前的检查,不过这里只做一般检查,如果模块有特殊要求,可能检查不出来。requiredStorage就是需要的硬盘空间,以G为单位,默认值是5.5,magic的话,调整为10.0;requiredRam是需要的内存大小,默认值为1.0,Magic调整为4.0;internetCheckUrl是测试互联网连通性用的URL,主要是为了后续在线安装使用,所以Magic设置如上,这个可以是多个地址,用列表形式。check段的是现在允许的检查内容,这个是在源码里定义的,要添加需要修改源代码。其中storage是硬盘容量检查,ram是内存大小检查,power是电源检查(是否只使用电池),internet是网络访问检查,root是用户检查(是否运行在root用户下),screen是屏幕大小检查,后面三个是用于测试目的的,不用管它。required段就是指定需要检查哪些内容,Magic使用默认值,即检查硬盘容量、内存大小和是否运行在root用户下,因为本身magic安装程序就是运行在live里的,其它的应该不用检查。

geoip:
    style:    "json"
    url:      "https://geoip.fedoraproject.org/city"
    selector: "country_code"

这个实际上是位置检查,需要联网,这可以自动判断地区、语言、时区等,Magic使用fedora的设置。

还有一个welcomeq模块,除了有一个qmlSearch配置可以加载qml,其它的和welcome模块一样,Magic用welcome。


locale模块:

locale模块看名字就知道这是配置locale的:D,主要会影响语言、键盘等,安装的时候也可以选择,这里主要是默认的配置。

region:                     "Asia"
zone:                       "Shanghai"

Magic其实只用上面的配置,一看就明白了。不过下面还有一些可以定制的地方,一并说一下。

# useSystemTimezone: true

是否使用系统的时区,可以替代上面的时区配置,默认为false,Magic直接注释掉了。

# adjustLiveTimezone:   true

是否实时反映系统时区的调整,默认情况下,安装程序(具有目标系统)会这样做,而设置程序(例如OEM配置)则不会,但您可以在此处打开它(或者关闭它,如果您认为安装程序中很烦人)。##请注意,并非所有系统都支持实时调整。Magic保持默认。

#localeGenPath:             "/etc/locale.gen"

检测系统locale是这个顺序:/usr/share/i18n/SUPPORTED,localeGen路径 (不设置的话默认是 /etc/locale.gen),locale -a。如果locale.gen不是默认路径,可以在这里指定。不过Magic用locale -a,所以这个不设置。

geoip:
    style:    "json"
    url:      "https://geoip.fedoraproject.org/city"
    selector: "time_zone"

这个和welcome的配置是一样的,可以覆盖welcome中的配置,不过保持上面的就好。


keyboard模块:

这个是配置键盘的模块,可以在安装过程中选择,这里基本是一些基本配置。在系统里必须有可运行的ckbcomp命令,Magic就是必须安装有console-setup包。

xOrgConfFileName: "/etc/X11/xorg.conf.d/00-keyboard.conf"

用于写X11键盘配置的文件名,默认就是systemd的配置,Magic不做修改。如果修改的话,注意如果是相对路径,相对的是xorg.conf.d目录。

convertedKeymapPath: "/lib/kbd/keymaps/xkb"

搜索从X11转换为kbd格式的键映射的路径。常见的路径有:/lib/kbd/keymaps/xkb,-/usr/share/kbd/keymaps/xkb,如果该设置在您的发行版上没有意义,请将其留空。Magic默认配置如上。

writeEtcDefaultKeyboard: true

是否写键盘配置到/etc/default/keyboard,Magic设置为true。

#useLocale1: true

是否使用locale1服务来替代直接管理配置文件,locale1服务是更现代的配置,默认X11上是false,其它情况是true,Magic为了兼容性,不设置。

#guessLayout: true

根据用户区域设置猜测默认布局。如果为false,则保持当前状态系统键盘布局为默认布局(如果布局是预先配置的,则很有用)。Magic保持默认值。

configure:
    kwin: false

设置为true时可以通过DBus把配置文件的修改通知给KWin,这样可以不使用locale1。一般情况下设置为false即可。

发表回复