Ce fichier est utilisé pour automatiser l'installation d'Ubuntu. Il y a deux façons de l'utiliser :
Pour ma part, j'ai procédé à l'installation dans une machine virtuelle Ubuntu sur VirtualBox. Énormément de dépendances sont installées, toutes ne sont pas indispensables, mais ce n'est pas évident de faire le tri. De plus, l'installation est prévue pour Ubuntu.
On commence par cloner le dépôt :
git clone https://github.com/canonical/subiquity.git
et lancer l'installation des dépendances (prévu pour Ubuntu) :
cd subiquity
make install_deps
Pour vérifier la syntaxe :
./scripts/validate-autoinstall-user-data.py <path>/autoinstall.yaml
Une fois cette étape effectuée, il est temps de passer à l'écriture du fichier autoinstall.yaml
Pour commencer quelques points d'attention :
Le fichier doit s'appeler autoinstall.yamlsi vous voulez l'intégrer à l'ISO (Si vous le distribuez via un serveur web, vous l'appelez comme vous voulez).
Ajouter les paramètres petit à petit et testez au fur et à mesure. La syntaxe est très sensible et le validateur n'indique pas précisément où sont les erreurs.
La première ligne du fichier doit être : #cloud-config
La référence de la syntaxe du fichier est ici : https://canonical-subiquity.readthedocs-hosted.com/en/latest/reference/autoinstall-reference.html
L'entête du fichier est :
#cloud-config
autoinstall:
version: 1
Cette entrée est indispensable.
identity:
realname: "Utilisateur"
username: user
password: "$6$UBLfJcwbDxB1lT9y$6s57ETgKQ.AxDsK7bqDa3Kb6XgA5yBXlJA6uf31Rzfgh9aJfl.yggcrUzK90JqHby/zDALpcXOOO15TUSUjqZ0"
hostname: no-name.domain.tld
Les champs parlent d'eux même. Pour générer le mot de passe chiffré, j'ai utilisé la commande mkpasswd qui fait partie du paquet whois sous Arch Linux.
mkpasswd --method=sha-512
# Le mot de passe vous sera demandé.
locale: "fr_FR.UTF-8"
timezone: Europe/Paris
keyboard:
layout: fr
variant: oss
Les paramètres pour la France à adapter si vous vivez ailleurs.
storage:
layout:
name: lvm
password: SuperPassPhrase
reset-partition: true
Les paramètres pour un disque chiffré (LVM obligatoire). Pour désactiver le chiffrement : supprimer la ligne password. Pour ne pas utiliser LVM remplacer name: lvm par name: direct.
Si cette partie n'est pas spécifiée cela utilise LVM sans chiffrement.
Uniquement utile si vous voulez activer l'accès à distance à la machine
ssh:
install-server: true
authorized-keys:
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAKAndzioaj33sdw2dmz18z6iGdWygjgXT0yWLew65zEDm prenom.nom@domain.tld
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIPMdn0ig0xJslkzapŝqd33mlsZR3DIT6kdunPHf8tC6 nom.prenom@domain.tld
allow-pw: false
Pour activer l'installation des codecs
codecs:
install: true
Pour activer l'installation des drivers propriétaires :
drivers:
install: true
Pour redémarrer automatiquement a la fin de l'installation :
shutdown: reboot
Pour installer des paquets supplémentaires lors de l'installation :
packages:
- fish
- curl
- neovim
- dialog
- ansible
- git
#cloud-config
autoinstall:
version: 1
identity:
realname: "Utilisateur"
username: user
password: "$6$UBLfJcwbDxB1lT9y$6s57ETgKQ.AxDsK7bqDa3Kb6XgA5yBXlJA6uf31Rzfgh9aJfl.yggcrUzK90JqHby/zDALpcXOOO15TUSUjqZ0"
hostname: no-name.domain.tld
locale: "fr_FR.UTF-8"
timezone: Europe/Paris
keyboard:
layout: fr
variant: oss
updates: all
refresh-installer:
update: false
channel: latest/edge
storage:
layout:
name: lvm
password: SuperPassPhrase
reset-partition: true
ssh:
install-server: true
authorized-keys:
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAKAndzioaj33sdw2dmz18z6iGdWygjgXT0yWLew65zEDm prenom.nom@domain.tld
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIPMdn0ig0xJslkzapŝqd33mlsZR3DIT6kdunPHf8tC6 nom.prenom@domain.tld
allow-pw: false
codecs:
install: true
drivers:
install: true
shutdown: reboot
packages:
- fish
- curl
- neovim
- dialog
- ansible
- git