| .vscode | ||
| ansible | ||
| cubic | ||
| doc | ||
| linuxinstaller | ||
| .gitignore | ||
| autoinstall.yaml | ||
| config.yml.example | ||
| LICENSE | ||
| linuxinstaller-firstboot.service | ||
| linuxinstaller-firstboot.sh | ||
| linuxinstaller.sh | ||
| poetry.lock | ||
| pyproject.toml | ||
| README.md | ||
linuxinstaller
Le but de ce projet est de fournir :
- une image iso amorçable, permettant d'installer rapidement des ordinateurs basés sur Linux Mint
- un outil de configuration de ces ordinateurs qui se lance au premier démarrage
- la possibilité de relancer manuellement cet outil de configuration ultérieurement de manière à relancer la configuration initiale ou d'autres options
Création de l'image iso
- Sur un poste linux-mint, installer le logiciel Cubic :
sudo apt-add-repository universe
sudo apt-add-repository ppa:cubic-wizard/release
sudo apt update
sudo apt install --no-install-recommends cubic
-
Télécharger l'image linux mint officielle (édition cinnamon)
-
Cloner ce pojet
git clone https://git.libretic.fr/libretic/linuxinstaller.git
-
Adapter le projet selon ses besoins, notamment :
cubic/vars/main.ymlansible/vars/main.yml- les templates pour cubic dans
cubic/templates
-
Se placer dans le dossier
cubicde ce projet et exécuter la génération des fichiers preseed qui seront utiles plus tard, et qui se trouveront dans le dossiergeneratedaprès exécution de la commande :
cd linuxinstaller/cubic
python3 -m venv preseed-venv
. preseed-venv/bin/activate
pip install ansible passlib
ansible-playbook configure-preseed.yml
- Lancer cubic et créer un nouveau dossier projet
- Paramétrage de la personnalisation de l'image ; choisir l'image linux mint téléchargée et personnalisé comme suit :
- On arrive sur un shell qui permet de taper des commandes de personnalisation
- Dans ce shell, taper les commandes suivantes :
apt update
apt install -y git python3-poetry
- S'il est nécessaire d'ajouter un (ou plusieurs) certificat d'autorité de certification pour utiliser un repo git, l'ajouter dans, par exemple
/usr/local/share/ca-certificates/nom_de_mon_autorite.crtpuis faire :
apt install -y ca-certificates
/usr/sbin/update-ca-certificates
- Installer l'outil linuxinstaller dans /opt
cd /opt
git clone https://git.libretic.fr/libretic/linuxinstaller.git
cd linuxinstaller
cp config.yml.example config.yml
- Adapter le contenu du config.yml pour ses besoins.
- S'il est souhaité qu'au premier démarrage de la machine, après installation, des playbooks se lancent automatiquement,
leur donner le tag
firstbootpuis lancer :
./linuxinstaller.sh --firstboot
-
Une fois exécutées les commandes ci-dessus, passer à l'écran qui suit, qui propose de modifier la liste des packages qui doivent être supprimés dans l'image. Ne rien changer.
-
L'écran suivant propose de modifier les options de démarrage. Dans l'onglet preseed de cet écran, créer plusieurs fichiers et y copier/coller les contenus des mêmes fichiers générés par ansible :
autoinstall-nvme.ksautoinstall-sda.ksautoinstall-vda.ks
- Dans l'onglet Boot, remplacer les contenus des fichiers grub.cfg et live.cfg par les contenus des fichiers générés par ansible :
-
Les écrans suivant permettent de valider le taux de compression puis de générer l'image.
-
Une fois générée, on obtient un écran de synthèse :
-
Le bouton "test" permet de tester l'image obtenue, mais il est préférable de tester avec virt-manager pour une meilleure simulation de ce qu'on obtiendra après sur un ordinateur.
-
Une fois obtenu le résultat souhaité, il ne reste plus qu'à déposer l'image dans une clé usb (conseil : utiliser Ventoy), puis amorcer un PC avec cette image.
Installation d'un ordinateur avec l'image iso obtenue
Utilisation du menu linuxinstaller
- Pour lancer linuxinstaller sans pull depuis le repo (développement)
NOPULL=0 ./linuxinstaller.sh






