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 :
|
||||
* 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
|
||||
```
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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()
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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])
|
||||
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()
|
|
@ -1,5 +1,5 @@
|
|||
[tool.poetry]
|
||||
name = "libreticmenu"
|
||||
name = "linuxinstaller"
|
||||
version = "0.1.0"
|
||||
description = ""
|
||||
authors = ["Olivier Navas <olivier.navas@libretic.fr>"]
|
||||
|
|
Loading…
Reference in a new issue