From 560b70b240e29e96da567269547d9612cbec8f47 Mon Sep 17 00:00:00 2001 From: Nicolas MORIN Date: Wed, 7 Feb 2024 17:26:36 +0100 Subject: [PATCH 1/3] Initialisation du code pour l'option PCI --- qemu-adm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/qemu-adm b/qemu-adm index 09258ed..7322df1 100755 --- a/qemu-adm +++ b/qemu-adm @@ -343,6 +343,9 @@ creeMV() echo "nouvMV reseau ${reseau_nom_interface} ${reseau_type} ${reseau_activ_pont} ${reseau_nom_pont} ${reseau_activ_8021q} ${reseau_mode_8021q} ${reseau_vid}" # Debogage ;; + "-p") # VFIO PCI + echo "pci" # Debogage + ;; "-s") # Sous-volume BTRFS echo "sous-volume" # Debogage if [[ ${temoin_s} -ne 1 ]]; then From fc7485c463928f57ee19655eab4c78b01b35625f Mon Sep 17 00:00:00 2001 From: Nicolas MORIN Date: Wed, 7 Feb 2024 19:52:29 +0100 Subject: [PATCH 2/3] =?UTF-8?q?Ajout=20d'un=20nouveau=20message=20d'erreur?= =?UTF-8?q?=20num=C3=A9ro=207?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 695338f..569e090 100755 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ Image générée avec l'[exention](https://github.com/ACTom/files_mindmap) `Mind |4 |la machine virtuelle existe déjà à l'emplacement spécifié| |5 |le paramètre d'une option est manquant | |6 |dépendance manquante | +|7 |initialisation de l'environement impossible | ## Dévelopement From 86f9416eef959b5d18f2b499276bf87629d29665 Mon Sep 17 00:00:00 2001 From: Nicolas MORIN Date: Wed, 7 Feb 2024 19:54:54 +0100 Subject: [PATCH 3/3] =?UTF-8?q?Modification=20de=20la=20fonction=20execCmd?= =?UTF-8?q?=20pour=20prendre=20en=20argument=20une=20liste=20d'actions.=20?= =?UTF-8?q?+=20=C3=A9bauche=20de=20gestion=20des=20sous-volumes=20BTRFS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- qemu-adm | 52 +++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 43 insertions(+), 9 deletions(-) diff --git a/qemu-adm b/qemu-adm index 7322df1..36b4dc2 100755 --- a/qemu-adm +++ b/qemu-adm @@ -17,6 +17,26 @@ verifMVExiste() fi } +initEnv() +{ + echo "initEnv" # Debogage + local l_option=${1} + echo "l_option=${l_option}" # Debogage + shift + case "${l_option}" in + "sousvolume") + echo "initEnv - sousvolume" # Debogage + case "${1}" in + "btrfs"|"BTRFS") + echo "initEnv - sousvolume - BTRFS" # Debogage + btrfs subvolume create ${base_chemin_mv} + if [[ $? -gt 0 ]]; then + die "La création du sous-volume dans le système de fichier cible n'est pas possible." 7 + fi + esac + esac +} + nouvMV() { local l_option=${1} @@ -78,11 +98,10 @@ nouvMV() execCmd() { #verifEnv - for ((id_commande=0 ; "${#commandes_a_executer[*]}" - "${id_commande}"; id_commande++)); do - ${commandes_a_executer["${id_commande}"]} + liste_executions=("$@") + for ((id_commande=0 ; "${#liste_executions[*]}" - "${id_commande}"; id_commande++)); do + ${liste_executions["${id_commande}"]} done - echo "########## FICHIER ##########" # Debogage - cat ${chemin_mv} # Debogage } confInteractive() @@ -341,15 +360,27 @@ creeMV() commandes_a_executer+=( "nouvMV reseau ${reseau_nom_interface} ${reseau_type} ${reseau_activ_pont} ${reseau_nom_pont} ${reseau_activ_8021q} ${reseau_mode_8021q} ${reseau_vid}") echo "nouvMV reseau ${reseau_nom_interface} ${reseau_type} ${reseau_activ_pont} ${reseau_nom_pont} ${reseau_activ_8021q} ${reseau_mode_8021q} ${reseau_vid}" # Debogage - ;; "-p") # VFIO PCI echo "pci" # Debogage + # -device vfio-pci,host=0b:10.0,id=hostdev0,bus=pci.0,addr=0xa + shift ;; - "-s") # Sous-volume BTRFS + "-s") # Sous-volume echo "sous-volume" # Debogage + parametre="${2}" + echo "sous-volume parametre=${parametre}" # Debogage + presenceParametre "$#" "$1" + shift if [[ ${temoin_s} -ne 1 ]]; then - #commandes_a_executer+=( "nouvMV ${nom_mv}") + case ${1} in + "btrfs"|"BTRFS") + if [[ ! $(command -v btrfs) ]]; then + die "Le paquet btrfs-progs n'est pas installé." 6 + fi + commandes_init_a_executer+=( "initEnv sousvolume ${1}" ) + ;; + esac temoin_s=1 else die "L'option ${1} a déjà été renseignée." 3 @@ -387,9 +418,12 @@ creeMV() if [[ ${temoin_c} -ne 1 || ${temoin_m} -ne 1 ]]; then die "Les parametres -c et -m sont obligatoires." 2 fi - #verifMVExiste ${nom_mv} && + #verifMVExiste ${nom_mv} + execCmd "${commandes_init_a_executer[@]}" mkdir -p ${base_chemin_mv}/${nom_mv} - execCmd + execCmd "${commandes_a_executer[@]}" + echo "########## FICHIER ##########" # Debogage + cat ${chemin_mv} # Debogage } usage()