53 lines
1.9 KiB
Markdown
53 lines
1.9 KiB
Markdown
# VM linux pour dev @ epita Toulouse
|
|
|
|
## Utiliser
|
|
|
|
1. installer VirtualBox https://www.virtualbox.org/wiki/Downloads
|
|
2. télécharger la vm au format .ova ici : https://git.barnulf.net/epita/epitls_vm/releases/download/latest/epitls.ova
|
|
3. importer la vm dans virtualbox (double cliquer le fichier)
|
|
|
|
## Contribuer
|
|
|
|
Vous pouvez améliorer cette machine virtuelle en contribuant à ce dépot.
|
|
|
|
- Pour ajouter des logiciels, les rajouter dans la liste `packages` dans `src/iso_root/user_configuration.json`.
|
|
- Pour ajouter des fichiers à l'installation par défaut :
|
|
- Les intégrer dans `src/iso_root/content`.
|
|
- Modifier `src/iso_root/post_install.sh` pour installer les fichiers au bon endroit.
|
|
|
|
Pour publier vos changements, ouvrez une PR.
|
|
Si je ne réagis pas, me contacter par discord (@majorbarnulf) ou mail (matthieu@imagevo.fr).
|
|
|
|
### Dépendances
|
|
|
|
Les logiciels suivants sont nécessaires pour générer la VM à partir de ce dépot.
|
|
|
|
- pacman
|
|
- wget
|
|
- net-tools
|
|
- archiso
|
|
- virtualbox
|
|
|
|
Archlinux est recommandé comme OS host pour générer la VM.
|
|
|
|
### Fabrication
|
|
|
|
La fabrication de la machine virtuelle est assez farfelue mais ça marche assez bien.
|
|
Les étapes de la fabrication sont les suivantes :
|
|
|
|
- création d'un ISO d'installation archlinux
|
|
- généré à partir du profil dans `./src/profile`
|
|
- contient un script d'installation automatisé qui est exécuté au boot `./src/profile/airootfs/root/.zlogin`
|
|
|
|
- création d'une VM vide avec VirtualBox
|
|
- bloc de commandes dans `./src/build.sh`
|
|
|
|
- Boot de la VM sur l'ISO
|
|
- aussi dans `./src/build.sh`
|
|
|
|
- l'ISO installe la distribution
|
|
- installe arch `archinstall` avec la configuration `./src/profile/airootfs/root/user_*.json`
|
|
- quelques ajustements avec `./src/profile/airootfs/root/post_install.sh`
|
|
- stop une fois la machine virtuelle configurée
|
|
|
|
- exporte la VM au format OVA dans `./output/epitls.ova`
|