Jump to content

djezzyman

Members
  • Content Count

    90
  • Joined

Community Reputation

15 Good

About djezzyman

  • Rank
    Membre Assidu
  • Birthday 01/01/1972
  1. ici un script qui prépare l'environnement. Il crée les répertoires ~/src,~/projects s'ils n'existent pas. Il installe crosstool-ng dans votre répertoire personnel. Pas besoin des droits root donc pour l'installation. #!/bin/sh # interruption du script en cas d'erreur set -e mkdir -p ~/src mkdir -p ~/projects wget -O ~/projects/crosstool-ng-1.9.3.tar.bz2 http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-1.9.3.tar.bz2 tar -C ~/projects -jxf ~/projects/crosstool-ng-1.9.3.tar.bz2 cd ~/projects/crosstool-ng-1.9.3 ./configure --prefix="${HOME}/crosstool-ng" make make install if [ ! -e ${HOME}/.bashrc ]; then touch ${HOME}/.bashrc fi cat >> ${HOME}/.bashrc # # Prise en charge de la complétion pour la commande ct-ng # CT_COMP=\${HOME}/crosstool-ng/lib/ct-ng-1.9.3/ct-ng.comp if [ -e "\${CT_COMP}" ]; then source "\${CT_COMP}" fi export PATH=\$PATH:/home/miloud/crosstool-ng/bin EOF # # Patch du fichier ${HOME}/crosstool-ng/lib/ct-ng-1.9.3/scripts/wrapper.c # La variable execve_ret est déclarée inutilement, ce qui fait échouer la # compilation car les avertissements sont considérés comme des erreurs # à ce stade de la compilation. # perl -ne 'if(/execve_ret/){s/(int\s+execve_ret\s*;)/\/\*\1\*\//g;s/(execve_ret =)/\/\*\1\*\//g;} print' -i ${HOME}/crosstool-ng/lib/ct-ng-1.9.3/scripts/wrapper.c # # Téléchargements des tarballs dont les urls sont erronées # if [! -f ~/src/duma_2_5_15.tar.gz ]; then wget -O ~/src/duma_2_5_15.tar.gz "http://downloads.sourceforge.net/project/duma/duma/2.5.15/duma_2_5_15.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fduma%2Ffiles%2Fduma%2F&ts=1397516687& use_mirror=kent" fi if [ ! -f ~/src/expat-2.0.1.tar.gz ]; then wget -O ~/src/expat-2.0.1.tar.gz "http://downloads.sourceforge.net/project/expat/expat/2.0.1/expat-2.0.1.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fexpat%2Ffiles%2Fexpat%2F2.0.1%2F&ts=1397516 938&use_mirror=kent" fi if [ ! -f ~/src/strace-4.5.19.tar.bz2]; then wget -O ~/src/strace-4.5.19.tar.bz2 "http://downloads.sourceforge.net/project/strace/strace/4.5.19/strace-4.5.19.tar.bz2?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fstrace%2Ffiles%2Fstrace%2F4.5.19%2F&ts=13 97517076&use_mirror=kent" fi Il y avait une erreur dans la dernière commande wget (-o au lieu de -O, pardon). Normalement vous devriez pouvoir utiliser la commande ct-ng. Vous devez configurer votre terminal graphique pour qu'il se comporte comme un shell de connexion (menu Edition -> Préférences du profil -> Titre et commande -> cocher "Lancer la commande en tant que shell de connexion") afin qu'il charge le fichier ~/.bashrc . La configuration suivante fonctionne. Elle est basée sur le sample arm-unknown-linux-uclibcgnueabi. La version 4.5.1 de gcc est compilée pour les langages C et C++. Au terme de la construction, le dossier ~/x-tools/arm-unknown-linux-uclibcgnueabi contient les fichiers compilés. Voici le listing du dossier: Voici la configuration. À copier et à coller dans un fichier .config d'un dossier raspberry-pi par exemple, taper ensuite la commande ct-ng menuconfig depuis ce même dossier pour la consulter, puis taper ct-ng build . Bonne chance.
  2. Dans la rubrique c-compiler, on choisit la liste des langages supportés. Vous ne pourrez pas compiler de programme écrit en c++ pour le Raspberry. Je pense qu'une configuration est possible avec uclibc et c++. Il reste un petit problème mineur dans la dernière étape.
  3. Le support c++ semble poser problème pour une configuration comprenant uclibc. J'ai donc désactivé le support de c++. Voici une liste de commande permettant de récupérer des tarballs dont les urls sont erronées. Voici la configuration (fichier .config) Bonne chance.
  4. Voici une autre document illustré traitant de la compilation de crosstool-ng pour Raspberry Pi: Compilation croisée facile pour Raspberry Pi Essayez d'abord de suivre une à une les étapes décrites sur la page du projet crosstool-ng
  5. Avez-vous suivi la documentation s'agissant du réglage de la variable d’environnement PATH: J'ai installé crosstool-ng-1.9.3 dans le répertoire ~/crosstool-ng. C'était avec la commande: Normalement la seule modification à apporter à la configuration par défaut est la version de MPFR. Je pense qu'il faut peut-être aussi désactiver la compilation des compilateurs java et fortran ça accélérerait grandement le processus (3925.51secondes) sauf si vous voulez compiler des programmes java pour le périphérique cible bien sûr. Enfin, c'est terminé ! Je doit sortir, je préparerai un résumé plus tard.
  6. Premièrement s'agissant de MINT, j'ai dû modifier manuellement les serveurs configurés dans le fichier /etc/apt/sources.list.d/official-package-repositories.list J'ai remplacé petra par saucy pour les serveurs Ubutnu et Canonical. apt-get update renvoyait des messages d'erreurs. Je suis entrain d'essayer crosstool-ng. Il suffit de suivre les instruction sur le site. Il y a aussi quelques petits problèmes lors de la construction mais ceux-ci sont mineurs. Il faut notamment installer le package gcj-jdk pour le support de java avec les autres prérequis qui sont les mêmes que pour buildroot. Sinon il semblerait que certaines URL soient erronées et que le téléchargement de 4 ou 5 tarballs échoue mais on les trouve facilement avec google. Ils sont hébergés sur le site sourceforge.net et doivent être placé dans le repertoire ~/src . Il faut donc aussi créer ce repertoire avant (mkdir ~/src). Avant de lancer la construction il faut éditer la configuration (ct-ng menuconfig) pour utiliser la version 3.0.0 de la librairie MPFR: Le processus est long et n'est pas encore terminé, voici la sortie du processus de construction (ct-ng build) après 35 minutes Le compilateur final est long à construire (non terminé après 54 minutes) et il reste le noyau. Je vous tiendrai informé.
  7. Lisez ce document: Toolchain crosstool-NG pour Raspberry Pi
  8. J'ai repondu en me basant sur les messages d'erreurs du compilateur mais c'est vrai que l'utilisation de /usr/bin/gcc pour la compilation est suspect. Il s'agit du compilateur par défaut de votre système qui produira certainement du code X86 ou X64 et non du code ARM. Reportez-vous à la documentation et précisément aux prérequis afin de configurer convenablement l'environnement de développement. Je pense que les paquets utils pour la cross-compilation sont disponibles pour MINT. Ils le sont pour Ubuntu en tout cas. Avant d'activer un repos secondaire, verifiez la disponibilité des paquets dans les repos MINT avec les commandes: apt-get update apt-cache pkgnames | grep eabi
  9. Remplacez les appels à gets par des appels à fgets. Le problème est que fgets a besoin de connaitre la taille du tampon. Vous devez donc contrôler tous les appels pour vous assurer que les tampons utilisés ne sont pas alloués dynamiquement (via malloc). L'idéal serait en effet d'utiliser la macro suivante: #ifndef gets #define gets(a) fgets ((a),sizeof((a)),stdin) #endif Mais elle n'est valable que dans le cas ou le tampon est un tableau de taille fixée lors de la déclaration: #define BUFFER_SIZE 64 char Buffer[bUFFER_SIZE]=""; gets(Buffer); //remplacé par fgets avant la compilation La macro ne peut pas être utilisée dans le cas suivant: #define BUFFER_SIZE 64 char *Buffer = NULL; //sizeof(Buffer) = sizeof(void *) = 4 octets sur x86 (8 octets sur x86_64) Buffer = malloc(BUFFER_SIZE); if(Buffer){ fgets(Buffer,BUFFER_SIZE,stdin); // on ne peut pas utiliser la macro } Utilser la commande suivante pour lister les fichiers utilisant gets: grep -R gets /home/DELTA/RPI
  10. Il faut commencer par lire ce document: http://www.debian.org/mirror/ftpmirror Ensuite il faut vous familiariser avec la commande rsync et une entrée crontab vous permettra enfin de synchroniser régulièrement le site. Prenez soin de vérifier les permissions et propriétaires des fichiers et dossiers après la synchronisation. Faites des tests car une arborescence défectueuse empêchera les mises à jour depuis votre mirroir. Debian est le système des scripts du shell. Vous allez devoir en écrire un certain nombre. Bonne chance.
  11. À priori un flash disk est utilisé en mode nomade, donc sur le poste client. Il faut simplement trouver son point de montage s' il est monté, sinon vous devez le monter manuellement avec la commande mount (il faut être root). La commande blkid liste les volumes détectés avec leur label (il faut être root). La commande mount (sans argument) permet de lister les systèmes de fichiers montés, donc aussi les volumes et leur point de montage pour ceux qui sont montés. S' il s'agit d'un poste client d'entreprise avec des accès restreints alors vous devez contacter votre responsable et lui demander la procédure à suivre. Peut-être vous répondra-t-on que cela n'est pas permis pour des raisons de sécurité.
  12. J'ai installé windows 8 sur une partition primaire juste à coté de windows 7. J'ai pris soin de marquer la partition de windows 8 active (boot flag) avant de lancer l'installation. Ensuite tout a été très vite. J'ai choisie "nouvelle installation" plutôt que la mise à jour de windows 7. Ensuite il faut bien choisir la partition préparée pour windows 8. Le MBR GRUB est remplacé par le loader de windows 8 mais on le restaure facilement à partir d'un cd linux. Les bootloaders de windows sont sur leur volume respectif (VBR ou Volume Boot Record). Normalement ceci est réalisé pendant l'installation, grub ensuite lance les systèmes windows depuis leur VBR (commande chainloader +1). Voici par exemple deux entrées de configuration grub pour windows 7 et windows 8 (resp. présents sur la première et la seconde partition du premier disque): Ces entrées doivent être ajoutées au fichier /etc/grub.d/40_custom . Ainsi lorsque le noyau est mis à jour, par exemple, et que la configuration de grub est regénérée, ces deux entrées sont préservées. Les deux versions de windows démarrent correctement. Microsoft a abandonné les effet graphiques superflux qui consomment trop de ressources. L'interface est très sobre. Plus besoin de menu démarrer avec le bouton de recherche. Les dévellopeurs de site web reconnaîtront ce thème. On dirait du CSS. On avait pu en avoir un aperçu en activant le mode Outlook sur hotmail.
  13. Et pour ceux qui veulent une interface graphique proche de Windows 7/Vista, il exite le projet Cinamon Desktop. Pour l'installer, la commande suivante suffit (en tant que root):: yum groupinstall "Cinnamon Desktop" J'ai essayé et il y a un message d'avertissement de yum concernant la signature d'un paquet (foo2hiperc). C'est dû au fait qu'il s'agit d'un paquet provenant de Fedora 16 et est donc signé avec la clé de fedora 16. Une fois le paquet installé, la clé fedora 16 est installée et aucun nouvel avertissement n'apparait.
  14. Merci Slown pour ces précisions. J'avoue avoir été un peux fénéant. Heureusement vous avez corrigé.
  15. Fedora 18 est disponible en téléchargement depuis le site du projet. http://fedoraproject.org/fr/get-fedora-all Voici le lien vers les notes de version (en anglais). http://docs.fedoraproject.org/en-US/Fedora/18/html/Release_Notes/index.html
×
×
  • Create New...