News

Guide d'installation de POK pour Mac OS X

Note : Ce guide d'installation a été réalisé par Wassim Wehbi lors de la réalisation d'un projet concernant POK. Nous le remercions pour ces instructions détaillées.

Avant de démarrer avec nos propos, il est judicieux de partager la démarche de mise en place de l’environnement de travail nécessaire pour le bon fonctionnement du noyau. Des compilateurs pour les architectures x86 et powerpc sont nécessaire, et, munis du simulateur QEMU pour x86 nous pourrions mettre au point notre implémentation. Voici la démarche suivie pour installer POK sur Mac OS 10.5.6 basé sur darwin 9.0.

Etape 1 : Compilateurs x86

Installer Macports pour obtenir les librairies suivantes : sudo port install <nom_librairie>

  • p5-xml-xpath
  • p5-xml-libxml
  • i386-elf-gcc
  • i386-elf-binutils

Puis :

  • créer un lien symbolique de /opt/local/bin/i386-elf-gcc-3.4.6 nommé /opt/local/bin/i386-elf-gcc pour être en phase avec le script de configuration
    • ln -s /opt/local/bin/i386-elf-gcc-3.4.6 /opt/local/bin/i386-elf-gcc
  • QEMU for Mac OS X sur sourceforge
  • Ajouter les répertoires des binaires que nous venons d’installer au PATH dans .bash_login,bashrc, ou /etc/profile pour tous les utilisateurs
  • PATH=/opt/local/bin:/Applications/Q.app/Contents/MacOS/i386-softmmu.app/Contents/MacOS/:$PATH
  • ajouter la variable POK_PATH avec le répertoire d'installation de pok

Etape 2 : ocarina, générateur de code pour AADL

  • Installer GNAT-GPL depuis http://libre.adacore.com
  • Télécharger et compiler les sources de tex
  • Télécharger et compiler les sources de gwTex
  • Vérifier que /usr/texbin et /usr/local/gwTex/bin sont dans votre variable PATH
  • Télécharger et compiler la dernière version d'ocarina depuis http://aadl.enst.fr/ocarina/snapshot
    • ./configure
    • gnumake
    • make all install

Etape 3 : Compilateurs powerpc

  • Télécharger Binutils 2.29, enlever /opt/local/bin et /usr/local/bin du PATH et dans le répertoire faire:
    • mkdir build-binutils
    • cd build-binutils
    • ../binutils-2.19/configure –target=powerpc-elf –prefix=/usr/local/
    • make all install
  • Télécharger les sources de gcc 4.4.0 et ses dépendances, enlever /opt/local/bin et /usr/local/bin du PATH et dans le répertoire faire:
  • mkdir build-gcc
  • cd build-gcc
  • ../gcc-4.4.0/configure –enable-languages=c –target=powerpc-elf –disable-libssp
  • make
  • sudo make install

Vérification

Pour vous assurer que tout va bien, dans le répertoire de pok taper:

make configure

Le résultat sera le suivant si tout va bien: checking for ECHO… yes

checking for MV… yes

checking for GZIP… yes

checking for MKDIR… yes

checking for GREP… yes

checking for PERL… yes

checking for COPY… yes

checking for CAT… yes

checking for AWK… yes

checking for CP… yes

checking for TOUCH… yes

checking for RM… yes

checking for CC for x86 architecture … yes

checking for OBJDUMP for x86 architecture … yes

checking for RANLIB for x86 architecture … yes

checking for AR for x86 architecture … yes

checking for OBJCOPY for x86 architecture … yes

checking for CXX for x86 architecture … yes

checking for LD for x86 architecture … yes

checking for QEMU for x86 architecture … yes

Architecture x86 was configured

checking for OBJCOPY for ppc architecture … yes

checking for CC for ppc architecture … yes

checking for OBJDUMP for ppc architecture … yes

checking for LD for ppc architecture … yes

checking for QEMU for ppc architecture … no

checking for RANLIB for ppc architecture … yes

checking for AR for ppc architecture … yes

Architecture ppc was NOT configured

checking system … ok

Ocarina version and revision are good

DONE !

Sinon, vérifier que les binaires suivant sont accessible depuis votre PATH:

  • /bin/make
  • Ada
    • /usr/local/gnat/bin/gnat
    • /usr/local/gnat/bin/gcc
  • AADL
    • /usr/local/bin/ocarina
  • Architecture x86
    • /opt/local/bin/i386-elf-addr2line
    • /opt/local/bin/i386-elf-ar
    • /opt/local/bin/i386-elf-as
    • /opt/local/bin/i386-elf-c++-3.4.6
    • /opt/local/bin/i386-elf-c++filt
    • /opt/local/bin/i386-elf-cpp-3.4.6
    • /opt/local/bin/i386-elf-g++-3.4.6
    • /opt/local/bin/i386-elf-g77-3.4.6
    • /opt/local/bin/i386-elf-gcc
    • /opt/local/bin/i386-elf-gcc-3.4.6
    • /opt/local/bin/i386-elf-gccbug-3.4.6
    • /opt/local/bin/i386-elf-gcov-3.4.6
    • /opt/local/bin/i386-elf-ld
    • /opt/local/bin/i386-elf-nm
    • /opt/local/bin/i386-elf-objcopy
    • /opt/local/bin/i386-elf-objdump
    • /opt/local/bin/i386-elf-ranlib
    • /opt/local/bin/i386-elf-readelf
    • /opt/local/bin/i386-elf-size
    • /opt/local/bin/i386-elf-strings
    • /opt/local/bin/i386-elf-strip
  • Architecture powerpc
    • /usr/local/bin/powerpc-elf-addr2line
    • /usr/local/bin/powerpc-elf-ar
    • /usr/local/bin/powerpc-elf-as
    • /usr/local/bin/powerpc-elf-c++filt
    • /usr/local/bin/powerpc-elf-cpp
    • /usr/local/bin/powerpc-elf-embedspu
    • /usr/local/bin/powerpc-elf-gcc
    • /usr/local/bin/powerpc-elf-gcc-4.4.0
    • /usr/local/bin/powerpc-elf-gccbug
    • /usr/local/bin/powerpc-elf-gcov
    • /usr/local/bin/powerpc-elf-gprof
    • /usr/local/bin/powerpc-elf-ld
    • /usr/local/bin/powerpc-elf-nm
    • /usr/local/bin/powerpc-elf-objcopy
    • /usr/local/bin/powerpc-elf-objdump
    • /usr/local/bin/powerpc-elf-ranlib
    • /usr/local/bin/powerpc-elf-readelf
    • /usr/local/bin/powerpc-elf-size
    • /usr/local/bin/powerpc-elf-strings
    • /usr/local/bin/powerpc-elf-strip
  • Simulateur x86
    • /Applications/Q.app/Contents/MacOS/i386-softmmu.app/Contents/MacOS/

Pour exécuter un exemple

  • cd $POK_PATH
  • cd examples/partition-threads
  • make #generation de code C à partir du modèle AADL
  • cd generated-code/cpu
  • make run

Ceci va lancer la simulation sur l'environnement x86 sur QEMU.

 
wikiinstallationfrench.txt · Last modified: 2012/05/10 16:10 by julien