Renommage

This commit is contained in:
Navas 2024-10-18 19:50:12 +02:00
parent 28054f6ad0
commit af32a4570e
20 changed files with 48 additions and 48 deletions

View file

@ -1,4 +1,4 @@
# libreticmenu
# 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
@ -23,7 +23,7 @@ sudo apt install --no-install-recommends cubic
* Cloner ce pojet
```bash
git clone https://git.libretic.fr/libretic/libreticmenu.git
git clone https://git.libretic.fr/libretic/linuxinstaller.git
```
* Adapter le projet selon ses besoins, notamment :
@ -33,7 +33,7 @@ git clone https://git.libretic.fr/libretic/libreticmenu.git
* Se placer dans le dossier `cubic` de ce projet et exécuter la génération des fichiers preseed qui seront utiles plus tard, et qui se trouveront dans le dossier `generated` après exécution de la commande :
```bash
cd libreticmenu/cubic
cd linuxinstaller/cubic
python3 -m venv preseed-venv
. preseed-venv/bin/activate
pip install ansible passlib
@ -59,17 +59,17 @@ apt update
apt install -y git python3-poetry
apt install -y auto-apt-proxy # facultatif, pour s'appuyer sur un proxy cache apt tel que apt-cacher-ng (doit répondre à l'adresse `apt-proxy`)
cd /opt
git clone https://git.libretic.fr/libretic/libreticmenu.git
cd libreticmenu
./libreticmenu.sh --firstboot
git clone https://git.libretic.fr/libretic/linuxinstaller.git
cd linuxinstaller
./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 :
* `libretic-nvme.ks`
* `libretic-sda.ks`
* `libretic-vda.ks`
* `autoinstall-nvme.ks`
* `autoinstall-sda.ks`
* `autoinstall-vda.ks`
![L'onglet preseed une fois renseigné](doc/preseed.png)
@ -93,10 +93,10 @@ cd libreticmenu
## Installation d'un ordinateur avec l'image iso obtenue
## Utilisation du menu libreticmenu
## Utilisation du menu linuxinstaller
* Pour lancer libreticmenu sans pull depuis le repo (développement)
* Pour lancer linuxinstaller sans pull depuis le repo (développement)
```bash
NOPULL=0 ./libreticmenu.sh
NOPULL=0 ./linuxinstaller.sh
```

View file

@ -9,8 +9,8 @@
tasks:
- name: Firstboot
ansible.builtin.file:
src: /opt/libreticmenu/libreticmenu-firstboot.service
dest: /etc/systemd/system/libreticmenu-firstboot.service
src: /opt/linuxinstaller/linuxinstaller-firstboot.service
dest: /etc/systemd/system/linuxinstaller-firstboot.service
state: link
owner: root
group: root
@ -18,5 +18,5 @@
- name: Active firstboot
ansible.builtin.service:
name: libreticmenu-firstboot
name: linuxinstaller-firstboot
enabled: true

View file

@ -12,7 +12,7 @@
ansible.builtin.copy:
content: |
# Autorise {{ installer_username }} à lancer le menu sans mdp
{{ installer_username }} ALL = NOPASSWD:/opt/libreticmenu/libreticmenu.sh
{{ installer_username }} ALL = NOPASSWD:/opt/linuxinstaller/linuxinstaller.sh
dest: /etc/sudoers.d/{{ installer_username }}
when: installer_username in getent_passwd.keys()

View file

@ -89,5 +89,5 @@ autoinstall:
# - curtin in-target -- bash /postinstall.sh
# - rm /target/postinstall.sh
- curtin in-target -- git clone https://git.libretic.fr/libretic/libreticmenu.git /opt/libreticmenu/
# - curtin in-target -- LANG=fr_FR.UTF-8 /opt/libreticmenu/libreticmenu.sh --firstboot
- curtin in-target -- git clone https://git.libretic.fr/libretic/linuxinstaller.git /opt/linuxinstaller/
# - curtin in-target -- LANG=fr_FR.UTF-8 /opt/linuxinstaller/linuxinstaller.sh --firstboot

View file

@ -14,8 +14,8 @@
- name: Fichiers preseed
ansible.builtin.template:
src: libretic.ks.j2
dest: generated/libretic-{{ item.boot_entry_name }}.ks
src: autoinstall.ks.j2
dest: generated/autoinstall-{{ item.boot_entry_name }}.ks
mode: u=rw,g=r,o=r
with_items: "{{ preseed_versions }}"
vars:

View file

@ -9,7 +9,7 @@ preseed_versions:
diskdevice: /dev/vda
# Définit, dans le cas d'une installation automatisée, le nom de l'utilisateur
# non root autorisé à lancer le menu libreticmenu
# non root autorisé à lancer le menu linuxinstaller
installer_username: installer
# Le mot de passe de cet utilisateur

View file

@ -1,10 +0,0 @@
[Unit]
Description=Execution de libreticmenu-firstboot.sh au premier démarrage
After=network.target
[Service]
Type=simple
ExecStart=/opt/libreticmenu/libreticmenu-firstboot.sh
[Install]
WantedBy=multi-user.target

View file

@ -1,6 +0,0 @@
#!/bin/bash
set -eo pipefail
logger -t libreticmenu "Exécution de libreticmenu-firstboot.sh"
until host git.libretic.fr; do sleep 5; done
/opt/libreticmenu/libreticmenu.sh --update --conformite \
&& systemctl disable libreticmenu-firstboot.service

View file

@ -1,8 +0,0 @@
#!/bin/bash
set -eo pipefail
DIR=$(dirname $0)
cd $DIR
[ "$NOPULL" != "0" ] && git pull
poetry lock
poetry -C $DIR/libreticmenu install
poetry -C $DIR/libreticmenu run python $DIR/libreticmenu/libreticmenu.py $*

View file

@ -0,0 +1,10 @@
[Unit]
Description=Execution de linuxinstaller-firstboot.sh au premier démarrage
After=network.target
[Service]
Type=simple
ExecStart=/opt/linuxinstaller/linuxinstaller-firstboot.sh
[Install]
WantedBy=multi-user.target

6
linuxinstaller-firstboot.sh Executable file
View file

@ -0,0 +1,6 @@
#!/bin/bash
set -eo pipefail
logger -t linuxinstaller "Exécution de linuxinstaller-firstboot.sh"
until host git.libretic.fr; do sleep 5; done
/opt/linuxinstaller/linuxinstaller.sh --update --conformite \
&& systemctl disable linuxinstaller-firstboot.service

8
linuxinstaller.sh Executable file
View file

@ -0,0 +1,8 @@
#!/bin/bash
set -eo pipefail
DIR=$(dirname $0)
cd $DIR
[ "$NOPULL" != "0" ] && git pull
poetry lock
poetry -C $DIR/linuxinstaller install
poetry -C $DIR/linuxinstaller run python $DIR/linuxinstaller/linuxinstaller.py $*

View file

@ -114,7 +114,7 @@ def branchChoice():
GitActions.setBranch(result[0])
console = Console()
console.print()
console.print("=== Relancer libreticmenu.sh pour bénéficier du changement d'environnement ===", style="bold red")
console.print("=== Relancer linuxinstaller.sh pour bénéficier du changement d'environnement ===", style="bold red")
console.print()
exit()
else:
@ -126,7 +126,7 @@ def main():
config = readConfig("config.yml")
currentBranch = GitActions.getBranch()
parser = argparse.ArgumentParser(prog="libreticmenu.py", description="Menu de configuration Libretic")
parser = argparse.ArgumentParser(prog="linuxinstaller.py", description="Menu de configuration Libretic")
for entry in config['ansiblemenu']:
parser.add_argument("--" + entry, help=config['ansiblemenu'][entry]['argument_help'], action='store_true')
args = parser.parse_args()

View file

@ -1,5 +1,5 @@
[tool.poetry]
name = "libreticmenu"
name = "linuxinstaller"
version = "0.1.0"
description = ""
authors = ["Olivier Navas <olivier.navas@libretic.fr>"]