New way to configure SystemRescue
As discussed as part of #168 (closed) introduce a text configuration file to provide an easy way to make configuration changes persistent. This sysrescue.yml configuration file should be located on the boot device just like SRM modules. This file can be used as an alternative to using parameters on the boot command line to customize SystemRescue. It could be used to specify the keyboard layout, enable of disable the firewall, enable or disable autorun scripts, provide parameters required by these autorun tasks, change the root password, configure an ssh authorized public key, configure a gpg key.
Currently there are two boot menus (BIOS and UEFI) and users may have to update both to implement their preferences. Boot parameters could take precedence over sysrescue.yml and it would provide compatibility with current boot parameters.
Modifying sysrescue.yml will be a very easy way to customize the configuration for using booting from a memory stick. This file can also be made available for network booting via PXE.
Such a sysrescue.yml file could look like this:
general:
setkmap: us
nofirewall: false
autorun:
enabled: true
tasks: mytask1,mytask2
mytask1:
remote_server: 123.123.123.123
ssh_password: MyPassword123
mytask2:
option1: value1
option2: value2
And such a configuration file would be easy to parse using Python as it has modules for reading yaml. Additional administration scripts located in /usr/share/sysrescue/bin can take advantage of this new configuration mechanism. This way an administrator can easily provide a customized SystemRescue boot device to assist members in this organisation to sort out specific problems.
Also this feature can be used to provide new autorun features. It should be possible to specify the address of a public or private git repository which contains autorun scripts. Then autorun should automatically clone this repository and execute the script specified in the configuration.