Install Guide
The default boot entry for the ICPC Contest Image will deploy the image automatically in the first available disk with CLI Deploy Toolkit autoinstall configuration. This means that the image will be installed without any user intervention, and the system will be ready to use immediately after the installation completes. This is the recommended way. See the Autoinstall Guide section below for more details on how to customize the autoinstall configuration.
If you want to install the image manually for dual-boot scenarios or for any other reason, you can use the Install ICPC Contest Image boot entry.
This will boot into a live environment where you can manually install the image using the calamares installer.
This is not recommended for contest environments, as it requires manual intervention.
Autoinstall Guide
The autoinstall feature is a subset of the subiquity installer used by Ubuntu Server. It allows for unattended installations and configurations.
For now, the CLI Deploy Tookit only supports a limited set of autoinstall features (networks and user-data), other configuration keys will be ignored.
There are two ways to provide the autoinstall configuration:
#cloud-configuser data containingautoinstall:configuration directives for cloud-init- Directly on the installation media
Autoinstall by way of cloud-config
The suggested way of providing autoinstall configuration is via cloud-init. This allows the configuration to be applied to the installer without having to modify the installation media.
The autoinstall configuration is provided via cloud-init configuration, which is almost endlessly flexible. In most scenarios the easiest way will be to provide user data via the NoCloud data source.
Autoinstall on the installation media
Another option for supplying autoinstall is to place a file named autoinstall.yaml on the installation media itself.
There are two locations that installer checks for the autoinstall.yaml file:
- At the root of the installation medium. When writing the installation ISO to a USB flash drive, copy
autoinstall.yamlto the partition containing the contents of the ISO - i.e. to the directory containing the casper sub-directory. - On the root file system of the installation system - this option typically requires modifying the installation ISO and is not recommended.
#cloud-config
autoinstall:
version: 1
user-data:
# password for the default user
# use "openssl passwd -6 passw0rd" to generate a SHA-512-hashed password
password: '$6$UKai2yFOPb8$KAVcYf7BkWWqxnyR24Is/1rvcSTfuOA3uiA65OszXtsmuo3kif4W6gdND0iclBS6ihrN2N5PoiObUVulfEOxg/'
# Do not expire the password on first login
chpasswd:
expire: false
# Configure ssh public keys for root and default user
ssh_authorized_keys:
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIElY6Wzp70KNeMRGDBsLMCfDIwe3qZ5lmpzFvAnrbLfr sysops
# Configure Autologin for the default user
write_files:
- path: /etc/gdm3/custom.conf
content: |
[daemon]
AutomaticLoginEnable=true
AutomaticLogin=icpc
[security]
[xdmcp]
[chooser]
[debug]
owner: root:root
permissions: '0644'
network:
version: 2
wifis:
# CLI Deploy Toolkit extension, this is not a standard cloud-init feature.
# Use __autodetect__ to automatically detect first available wifi adapter
# and connect to the specified access point.
# This is useful for environments where the wifi adapter name is not known.
__autodetect__:
dhcp4: true
dhcp-identifier: mac
optional: true
access-points:
icpc-contest:
password: 'p@s$w0rd'