Aller au contenu

[TUTO] Mise en place d'IVENTOY lancé comme une tâche et non en docker sur SYNOLOGY


leperdu

Messages recommandés

IVENTOY : permet de lancer des ISOs en réseau, donc en PXE, soit pour l'installation des OS soit pour les diagnostics, restauration...

Le site de IVENTOY : https://www.iventoy.com/en/index.html

Un résumé de IVENTOY sur le site de l'éditeur, traduit en français :

Citation

iVentoy est une version améliorée du serveur PXE.
Avec iVentoy, vous pouvez démarrer et installer le système d'exploitation sur plusieurs machines en même temps via le réseau.
iVentoy est extrêmement facile à utiliser, sans configuration compliquée, il suffit de placer le fichier ISO à l'emplacement spécifié et de sélectionner le démarrage PXE sur la machine cliente.
iVentoy supporte simultanément les modes x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI et ARM64 UEFI.
iVentoy supporte plus de 110 types de systèmes d'exploitation (Windows/WinPE/Linux/VMware).

Ses caractéristiques toujours sur le site de l'éditeur. Description traduite en français :

Citation

    Simple à utiliser (Get Started)
    Multiplateforme, peut fonctionner sous Windows et Linux.
    Spécialement optimisé pour les scénarios PXE, avec des fonctions flexibles.
    Démarrage direct des fichiers ISO, aucune extraction n'est nécessaire.
    Style de menu de démarrage natif pour Legacy & UEFI
    Menu de démarrage correspondant à la disposition des répertoires.
    Prend en charge le BIOS hérité et le mode UEFI IA32/X86_64/ARM64.
    Supporte plus de 110 types de systèmes d'exploitation (Windows/WinPE/Linux/VMware).
    Protection par mot de passe du démarrage au niveau du système ou de l'ISO.
    Plusieurs dispositifs pour installer différents systèmes d'exploitation en même temps.
    Peut fonctionner avec un serveur DHCP tiers. Remarques

    Filtrage des périphériques par adresse MAC.
    Prise en charge de l'interrogation de l'état du filtrage de l'adresse MAC.
    Prise en charge de l'interrogation sur l'attribution de l'adresse MAC.
    Informations sur l'appareil client. (Fabrication, nom du produit, etc.)
    Obtention directe des fichiers internes de l'ISO avec HTTP.Notes
    Fonctionnalité d'injection de fichiers. Notes
    Fonctionnalité d'injection de scripts d'exécution automatique. Notes
    Prise en charge de l'installation automatique sous Windows. Notes
    Installation automatique sous Linux. Notes
    Expansion des variables prise en charge pour le script d'installation Notes
    Résout automatiquement les problèmes de pilotes manquants lors de l'installation de Linux.

Beaucoup de personnes connaissent VENTOY, l'outil qui permet de formater un disque dur ou une clé sub en 2 partitions. Une pour boot et une qui contient les ISOs.

IVENTOY est son équivalent en PXE.

 

Mon environnement pour cette mise en place

image.thumb.jpeg.d8ca1fa016465b705c251c17ef0bdc1e.jpeg

1) CREATION DE L'ENVIRONNEMENT D’IVENTOY

Sur le NAS, j'ai créé un dossier partagé avec le nom iventoy.
J'ai téléchargé la version gratuite linux : iventoy-1.0.20-linux-free.tar.gz à cette page : https://github.com/ventoy/PXE/releases
J'ai décompressé le fichier iventoy-1.0.20-linux-free.tar.gz et j'ai obtenu les dossiers et fichiers suivants :

J'ai copié ces fichiers-dossiers sous le dossier partagé iventoy sur le nas :

  • dans le dossier "iso", on met les fichiers isos sur lequels on veut démarrer (bien sûr sous format ISO et non décompressés).
  • J'ai modifié le script iventoy.sh :


J'ai mis en commentaire la 3ème ligne comme ceci : #PROJ_DIR=$PWD
Et j'ai mis à sa place le dossier réel : PROJ_DIR=/volume1/iventoy

Bash:
#! /bin/bash
PROC_ENV="env IVENTOY_API_ALL=1"
#PROJ_DIR=$PWD
PROJ_DIR=/volume1/iventoy
PROJ_EXEC=$PROJ_DIR/lib/iventoy
PROJ_PID=/var/run/iventoy.pid

uid=$(id -u)

if [ $uid -ne 0 ]; then
    echo "Please use sudo or run the script as root."
    exit 1
fi

if [ "$1" = '-A' ]; then
    shift
fi

if [ "$1" = '-R' ]; then
    shift
    PROC_ENV="$PROC_ENV IVENTOY_AUTO_RUN=1"
fi

if echo $1 | grep -P -q '^(start|stop|status)$'; then
    :
else
    echo -e "\nUsage: $0 { start | stop | status }\n"
    exit 1
fi
iventoy_get_running_pid() {
    local PID
    local FILE

    if [ -f $PROJ_PID ]; then
        if grep -q '[0-9]' $PROJ_PID; then
            PID=$(cat $PROJ_PID)
            if [ -e /proc/$PID/exe ]; then
                FILE=$(readlink -f /proc/$PID/exe)
                if echo $FILE | grep -q '/iventoy$'; then
                    echo $PID
                    return
                fi
            fi
        fi
    fi
    echo 0
}

start() {
    local PID
    local RETVAL

    PID=$(iventoy_get_running_pid)
    if [ $PID -ne 0 ]; then
        echo "[ERROR] iventoy is already running. PID=$PID"
        exit 1
    fi

    cd $PROJ_DIR
    $PROC_ENV $PROJ_EXEC
    RETVAL=$?

    if [ $RETVAL -eq 0 ]; then
        PID=$(iventoy_get_running_pid)
        echo "iventoy start SUCCESS PID=$PID"
        echo ""
        echo "Please open your browser and visit http://127.0.0.1:26000 or http://x.x.x.x:26000 (x.x.x.x is any valid IP address)"
        echo ""
    else
        echo "iventoy start FAILED"
    fi
}

stop() {
    local PID
    local RETVAL
    PID=$(iventoy_get_running_pid)

    if [ $PID -eq 0 ]; then
        echo "[ERROR] iventoy is not running"
        exit 1
    fi
    kill -15 $PID
}

status() {
    local PID
    PID=$(iventoy_get_running_pid)
    if [ $PID -ne 0 ]; then
        echo "iventoy is running, PID=$PID"
        echo ""
    else
        echo "iventoy is not running."
    fi
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  status)
        status
        ;;
  *)
        echo -e "\nUsage: $0 { start | stop | status }\n"
        exit 2
esac
exit $?

 

2) CREATION D'UNE TACHE QUI LANCE LE SCRIPT AU DEMARRAGE DU NAS

3) EXECUTION DE TACHE MANUELLEMENT POUR LE TEST

Clic droit de la souris sur la le nom de la tâche dans la liste des tâche et exécuter.
Au dessus de la liste des tâches, on clique sur "Action" puis on clique sur Afficher le résultat qui devrait être comme suit :

4) Comme indiqué dans le message du résultat, mettre l'adresse du nas avec le port 26000 pour le paramétrage de iventoy

Dans mon cas, je mets 192.168.1.19:26000 et je me retrouve avec la page suivante :

C'est la page Boot Information :

Dans IP Pool (begin) : mettre l'adresse IP de début pour l'attribution de l'adresse IP en DHCP
Dans IP Pool (end) : mettre l'IP de fin.


On peut laisser ces plages si ça ne gêne pas d'autres services.

Dans la page suivante, il y a la configuration du réseau dont le mode de DHCP.
Moi, j'ai choisi "internal" pour laisser iventoy le gérer.


 

5) On va sur la 1ère page et on lance le processus

 

On prend un PC pour démarrer en Réseau.
J'ai testé en mode "BIOS" et en mode "UEFI" et j'ai pu installer windows 10, x64.
 

 

 

Iventoy_Task.pdf

 

 

Modifié par leperdu
compléments
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.