Voici un post fort intéressant de met67 trouvé sur le site sifteam.eu (la team proche de Tideglo).
Comme l'original est en italien, je me suis permis d'en faire une traduction ci dessous (l'original est ici:
http://forum.sifteam.eu/ipbox-9000-900-hd-cuberevo-mini/66150-creare-ambiente-sviluppo-per-dgs-ipbox.html):
Compte tenu de la fragmentation des informations disponibles autour de la création d'un environnement de développement pour nos décodeurs, j'ai rassemblé dans un guide les étapes à suivre (plus ou moins ...).
L'idée est d'avoir une machine virtuelle sur VirtualBox avec Ubuntu installé et dédié au développement.
Il est sous-entendu que, le lecteur a suffisamment de connaissance en Linux et dans l'écriture de logiciels en C. Si tel n'était pas le cas, vous êtes prié de recherchez des tutoriels en ligne pour obtenir ces compétences.
La version d'Ubuntu pour cet exemple est la v 9h10 32 bit (avec 64 bit j'ai eu des problèmes ...).
Nous commençons par créer une machine virtuelle avec VirtualBox, en choisissant Linux / Ubuntu comme type de système, avec suffisamment de mémoire vive et de place sur le disque dur afin de pouvoir créer un enregistrement d'au moins 6 Go (avec le système et le SDK j'ai occupé 5,3 Go).
Il n'y a rien de spécial à faire lors de l'installation des options de d'Ubuntu, il suffit de suivre toujours les options par défaut et de créer ensuite son propre utilisateur.
Une fois que vous avez installé Ubuntu, télécharger les mises à jour système, installer les droits de l'utilisateur et redémarrer la bécane.
Nous sommes maintenant prêts à commencer.
Télécharger la cross-compilateur pour le processeur SH4 (CDK) ici:
http://dev.dgstation.co.kr/release/cuberevo/sh4_cdk_target-20080522.tgzDécompressez-le dans /opt tant que root. Si vous ne pouvez utiliser ces commandes comme expliqué, sachez qu'il y a mille et une façons de le faire:
$ sudo mkdir /opt
$ cd /opt
$ sudo tar zxvf <chemin du CDK ci-dessus>
Maintenant, ajoutez le chemin vers le cross-compilateur (mille autres manières ...):
$ echo PATH=\"/opt/STM/STLinux-2.2/devkit/sh4/bin:\$PATH\" >> ~/.profile
Installer ensuite SVN (subversion) et ncftp (un client FTP en ligne de commande pratique):
$ Sudo apt-get install subversion
$ Sudo apt-get install ncftp
Créer un répertoire de développement et de CD à:
$ Mkdir ~ / IPBox
$ Cd ~ / IPBox
Téléchargez la dernière version du SDK avec les exemples dans le répertoire courant:
$ Svn co http://dev.dgstation.co.kr/repos/cuberevo.
Essayez-le avec le plugin epg_ex :
$ cd plugin/epg_ex
$ make
Devrait retourner quelque chose comme ceci:
sh4-linux-gcc-I. / -I../../include/sbox -I../../include/modules -I../../include/tools-I ../../ include / st_drv-Wall-DDEBUG-DDEBUG_LEVEL = 5-c-o main.o main.c
sh4-linux-gcc-I. / -I../../include/sbox -I../../include/modules -I../../include/tools-I ../../ include / st_drv-Wall-DDEBUG-DDEBUG_LEVEL = 5-shared-nostartfiles-o main.o epg_ex.plugin
sh4-linux-strip epg_ex.plugin
S'il ya des erreurs, essayer de faire un simple hello World:
$ Mkdir ~ / IPBox / plugin /hello
$ Cd ~ / IPBox / plugin /hello
Créé dans un fichier hello.c hello:
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("Hello World\n");
return 0;
}
et son Makefile (adapté avec le Mot de passe et adresse de votre décodeur):
CROSS = sh4-linux-
CC = $(CROSS)gcc
STRIP = $(CROSS)strip
objs += hello.o
CFLAGS += -I../../include/sbox
CFLAGS += -I../../include/modules
CFLAGS += -I../../include/tools
CFLAGS += -I../../include/st_drv
CFLAGS += -Wall
CFLAGS += -DDEBUG
CFLAGS += -DDEBUG_LEVEL=5
all : hello
clean :
rm -f hello
rm -f *.o
rm -f tags
hello : $(objs)
$(CC) $(CFLAGS) -o $@ $^
$(STRIP) $@
install:
ncftpput -u root -p sifteam 10.1.1.3 /tmp hello
Maintenant, essayez de compiler, et si tout va bien, transférer ensuite vers votre décodeur;
$ Make
$ Make install
S'il n'y a pas d'erreurs, connectez vous au décodeur en Telnet, et rendez le fichier exécutable et lancez-le:
# chmod +x /tmp/hello
# /tmp/hello
et vous devriez voir comme dans un rêve
Hello World
Une chose à laquelle il faut faire attention ce sont les liens pour les options qui, dans le cas des plugins ne peut utiliser les fichiers Standard au démarrage, parce que le plugin est chargé et lancé par sbox et non par le shell. Si vous utilisez les mêmes options pour un programme de shell vous aurez une erreur de segmentation ...
Pour tout le reste (documentation, Enigma2 élaboration, la compilation de Lady Oscar, etc.) j'espère que quelqu'un de plus versé que moi pourra donner un coup de main dans ces domaines.
Petits plus:
Pour «jouer» avec la DGS db.dat, la base de données qui contient la liste des canaux plus d'autres choses, il peut être utile d'installer sqlite3:
$ Sudo apt-get install sqlite3