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

leperdu

Nouveau membre
22 Mars 2018
17
3
3
Mon environnement :

Mon_Environnement.jpg

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 :

Fichiers_Iventoy_Telecharges.jpg

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

Fichiers_Iventoy.jpg

  • 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

Iventoy_Tache.jpg
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 :


Iventoy_Resultat_Tache.jpg
3) 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
Iventoy_Params_1.jpg


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.

Iventoy_Params_2.jpg

4) On va sur la 1ère page et on lance le processus
Iventoy_Demarrage.jpg


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.

IMG_20240505_193214.jpg IMG_20240505_193647.jpg

Je n'ai mis que les photos du début du démarrage.
Mais j'ai bien été jusqu'au bout de l'installation de ce windows 10.



Une fois que les tests et les réglages sont effectués et pour automatiser le processus, donc sans passer par l'étape où il faut cliquer sur la flèche verte de la 1ère page :

Aller sur la tâche créée et modifier la commande en rajoutant le paramètre -R :


/volume1/iventoy/iventoy.sh start


/volume1/iventoy/iventoy.sh -R start
==========================================================

J’ai également testé quelques outils.
Boot_Autres_outils.jpg



Remarques.

Pour les ISOs qui ont été modifiés, notamment dont le setup.exe ne se trouve pas à la racine de l’ISO, on arrive à booter sur l’Iso, mais au moment du lancement de l’installation, on se retrouve avec un message d’erreur.

Boot_Other_Os_1.jpg
Boot_Other_Os_2.jpg
Boot_Other_Os_3.jpg

En pièce jointe, sous format pdf, ce tutoriel.

Cordialement.
 

Pièces jointes

  • Infos_General.jpg
    Infos_General.jpg
    129.5 KB · Affichages: 1
  • Volume.jpg
    Volume.jpg
    261.2 KB · Affichages: 3
  • Iventoy_Task.pdf
    1.7 MB · Affichages: 2
Dernière édition:
@leperdu : ne voudrais tu pas mettre ce tuto dans un second post avec l’autre ? Même si la manière de le mettre en place diffère , le sujet de base est le même 😊