Renommage
This commit is contained in:
parent
28054f6ad0
commit
af32a4570e
20 changed files with 48 additions and 48 deletions
24
README.md
24
README.md
|
@ -1,4 +1,4 @@
|
||||||
# libreticmenu
|
# linuxinstaller
|
||||||
|
|
||||||
Le but de ce projet est de fournir :
|
Le but de ce projet est de fournir :
|
||||||
* une image iso amorçable, permettant d'installer rapidement des ordinateurs basés sur Linux Mint
|
* 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
|
* Cloner ce pojet
|
||||||
|
|
||||||
```bash
|
```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 :
|
* 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 :
|
* 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
|
```bash
|
||||||
cd libreticmenu/cubic
|
cd linuxinstaller/cubic
|
||||||
python3 -m venv preseed-venv
|
python3 -m venv preseed-venv
|
||||||
. preseed-venv/bin/activate
|
. preseed-venv/bin/activate
|
||||||
pip install ansible passlib
|
pip install ansible passlib
|
||||||
|
@ -59,17 +59,17 @@ apt update
|
||||||
apt install -y git python3-poetry
|
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`)
|
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
|
cd /opt
|
||||||
git clone https://git.libretic.fr/libretic/libreticmenu.git
|
git clone https://git.libretic.fr/libretic/linuxinstaller.git
|
||||||
cd libreticmenu
|
cd linuxinstaller
|
||||||
./libreticmenu.sh --firstboot
|
./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.
|
* 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 :
|
* 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`
|
* `autoinstall-nvme.ks`
|
||||||
* `libretic-sda.ks`
|
* `autoinstall-sda.ks`
|
||||||
* `libretic-vda.ks`
|
* `autoinstall-vda.ks`
|
||||||
|
|
||||||
![L'onglet preseed une fois renseigné](doc/preseed.png)
|
![L'onglet preseed une fois renseigné](doc/preseed.png)
|
||||||
|
|
||||||
|
@ -93,10 +93,10 @@ cd libreticmenu
|
||||||
## Installation d'un ordinateur avec l'image iso obtenue
|
## 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
|
```bash
|
||||||
NOPULL=0 ./libreticmenu.sh
|
NOPULL=0 ./linuxinstaller.sh
|
||||||
```
|
```
|
||||||
|
|
|
@ -9,8 +9,8 @@
|
||||||
tasks:
|
tasks:
|
||||||
- name: Firstboot
|
- name: Firstboot
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
src: /opt/libreticmenu/libreticmenu-firstboot.service
|
src: /opt/linuxinstaller/linuxinstaller-firstboot.service
|
||||||
dest: /etc/systemd/system/libreticmenu-firstboot.service
|
dest: /etc/systemd/system/linuxinstaller-firstboot.service
|
||||||
state: link
|
state: link
|
||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
|
@ -18,5 +18,5 @@
|
||||||
|
|
||||||
- name: Active firstboot
|
- name: Active firstboot
|
||||||
ansible.builtin.service:
|
ansible.builtin.service:
|
||||||
name: libreticmenu-firstboot
|
name: linuxinstaller-firstboot
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: |
|
content: |
|
||||||
# Autorise {{ installer_username }} à lancer le menu sans mdp
|
# 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 }}
|
dest: /etc/sudoers.d/{{ installer_username }}
|
||||||
when: installer_username in getent_passwd.keys()
|
when: installer_username in getent_passwd.keys()
|
||||||
|
|
||||||
|
|
|
@ -89,5 +89,5 @@ autoinstall:
|
||||||
# - curtin in-target -- bash /postinstall.sh
|
# - curtin in-target -- bash /postinstall.sh
|
||||||
# - rm /target/postinstall.sh
|
# - rm /target/postinstall.sh
|
||||||
|
|
||||||
- curtin in-target -- git clone https://git.libretic.fr/libretic/libreticmenu.git /opt/libreticmenu/
|
- curtin in-target -- git clone https://git.libretic.fr/libretic/linuxinstaller.git /opt/linuxinstaller/
|
||||||
# - curtin in-target -- LANG=fr_FR.UTF-8 /opt/libreticmenu/libreticmenu.sh --firstboot
|
# - curtin in-target -- LANG=fr_FR.UTF-8 /opt/linuxinstaller/linuxinstaller.sh --firstboot
|
||||||
|
|
|
@ -14,8 +14,8 @@
|
||||||
|
|
||||||
- name: Fichiers preseed
|
- name: Fichiers preseed
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: libretic.ks.j2
|
src: autoinstall.ks.j2
|
||||||
dest: generated/libretic-{{ item.boot_entry_name }}.ks
|
dest: generated/autoinstall-{{ item.boot_entry_name }}.ks
|
||||||
mode: u=rw,g=r,o=r
|
mode: u=rw,g=r,o=r
|
||||||
with_items: "{{ preseed_versions }}"
|
with_items: "{{ preseed_versions }}"
|
||||||
vars:
|
vars:
|
||||||
|
|
|
@ -9,7 +9,7 @@ preseed_versions:
|
||||||
diskdevice: /dev/vda
|
diskdevice: /dev/vda
|
||||||
|
|
||||||
# Définit, dans le cas d'une installation automatisée, le nom de l'utilisateur
|
# 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
|
installer_username: installer
|
||||||
|
|
||||||
# Le mot de passe de cet utilisateur
|
# Le mot de passe de cet utilisateur
|
||||||
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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 $*
|
|
10
linuxinstaller-firstboot.service
Normal file
10
linuxinstaller-firstboot.service
Normal 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
6
linuxinstaller-firstboot.sh
Executable 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
8
linuxinstaller.sh
Executable 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 $*
|
|
@ -114,7 +114,7 @@ def branchChoice():
|
||||||
GitActions.setBranch(result[0])
|
GitActions.setBranch(result[0])
|
||||||
console = Console()
|
console = Console()
|
||||||
console.print()
|
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()
|
console.print()
|
||||||
exit()
|
exit()
|
||||||
else:
|
else:
|
||||||
|
@ -126,7 +126,7 @@ def main():
|
||||||
config = readConfig("config.yml")
|
config = readConfig("config.yml")
|
||||||
currentBranch = GitActions.getBranch()
|
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']:
|
for entry in config['ansiblemenu']:
|
||||||
parser.add_argument("--" + entry, help=config['ansiblemenu'][entry]['argument_help'], action='store_true')
|
parser.add_argument("--" + entry, help=config['ansiblemenu'][entry]['argument_help'], action='store_true')
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
|
@ -1,5 +1,5 @@
|
||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "libreticmenu"
|
name = "linuxinstaller"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
description = ""
|
description = ""
|
||||||
authors = ["Olivier Navas <olivier.navas@libretic.fr>"]
|
authors = ["Olivier Navas <olivier.navas@libretic.fr>"]
|
||||||
|
|
Loading…
Reference in a new issue