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

leperdu

Nouveau membre
22 Mars 2018
27
4
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: 24
  • Volume.jpg
    Volume.jpg
    261.2 KB · Affichages: 23
  • Iventoy_Task.pdf
    Iventoy_Task.pdf
    1.7 MB · Affichages: 23
Dernière édition:
  • J'aime
Réactions: Minuit
@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 😊
 
Hello your solution looks consistent, but what about Synology NAS that uses CPU of an ARM64 architecture? Mine cannot understand the linux script so I always get " iventoy start FAILED"
 

Pièces jointes

  • Screenshot (11).png
    Screenshot (11).png
    17.9 KB · Affichages: 16
I have also tested /volume1/iventoy/iventoy.sh -a start as a command but it didnt work.
I strongly believe that my NAS cannot understand the unix script because of the architecture. ( ARM 64 )
I gave the modified file of yours to ChatGPT to transform it in a way that ARM may understand but I had no luck either.

Maybe do you have any bright idea before I use the docker?
Thanks for your time!
 

Pièces jointes

  • PARAMS2.png
    PARAMS2.png
    23 KB · Affichages: 14
  • PARAMS1.png
    PARAMS1.png
    16.9 KB · Affichages: 14
  • synology specs.png
    synology specs.png
    10.4 KB · Affichages: 12
Sorry but i can't see anaything in the first picture, link.

You can connect on you nas thru ssh command and try to run the script commands

Regards
 
I added the synology specs for your reference in post no #5. SSH seems a good option, I will give it a try and report you just to know.
 
Hi @lagouzas
I have an answer, but I don't have the solution.
Your NAS processor is Realtek RTD1296, it's armv8. It can't exécute iventoy/lib/iventoy program.
Your nas has the same problem as others like the ds418 (not DS418+, DS418play)
There's no solution.
Regards.
 
j'ai exactement le même problème sur un ds124 avec processeur arm64 je tiens a préciser que les deux tuto ne fonctionne pas avec les modèles Synology entrée de gamme qui sont en arm. car j'ai émule un Nas Synology dans Vmware la première méthode via docker manager ne fonctionnais pas le containers ce lançait bien aucuns message d'erreur mes l'interface de gestion Iventoy ne s'affiche pas, par contre avec la méthode du planificateur de tâches avec la modification du fichier .sh fonctionne parfaitement dans la machine Vmware le Nas que j'ai émuler et un ds3622xs+ vous trouverez les tuto facilement sur YouTube donc la j'attends un nouveau Nas c'est un ds224+ je vous dirai si ça fonctionne mes il ne devrait pas i à voir de problème vue qu'il à un processeur Intel cèleront donc compatibles 64bit et je parle bien d'un processeur x64 avec instructions 64bit vérifier sur le site Intel.
 
Je fait le point pour vous dire que je viens de recevoir mon nouveau Nas DS224+ presseur x64bit Intel Celeron je n'et pas essayé la version de ce tutoriel via le planificateur de taches. pour le moment car en passant par container manager ce la a fonctionné du premier coup pas de prise de tête
donc on peut dire avec certitude que les Nas Synology avec processeur ARM ne sont pas compatible de plus je suis aller voir sur le site iventoy et c'est bien écrit ce que je n'avait pas vue avant mes c'est préciser que Iventoy ne fonctionne pas sur processeur arm les processeur arm sont compatibles uniquement pour le pc clent mes pas le serveurs. je n'est pa essayé l'installation complète de Windows mes j'ai biens réussi à booter sur la page d'installation donc je pense que ça fonctionne si non je n'aurais pas pue aller jusqu'à la page d'installation.
 

Pièces jointes

  • Capture d'écran 2025-04-09 170954.png
    Capture d'écran 2025-04-09 170954.png
    168.9 KB · Affichages: 1