Forum Programmation.c++ Compiler pour une architecture cible différente

Posté par  .
Étiquettes : aucune
0
18
fév.
2006
Salut
Je possède un san Linksys NSLU2 sur lequel j'ai installé opendebian pour l'architecture ARM.
J'ai besoin de recompiler certaines applications.
Le NSLU a un processeur 233Mhz et 32Mo de mémoire (je crois).
Recompiler ffmpeg me prend 4 à 5 heures.
A la moindre erreur de configuration, c'est reparti pour 4 heures.
L'arborescence root est située sur le disque usb connecté au NSLU2.

Mon PC est un AMD64 3200+ avec suse 10.0.
Autant dire que si pouvais compiler sur mon PC, je gagnerais pas mal de temps.

Je pensais pouvoir faire la chose suivante :
connecter mon disque usb sur mon PC.
chrooter l'arborescence root du disque usb.
compiler mes applications
reconnecter mon usb sur le NSLU2.

Je me pose quelques questions :
Si je lance une compilation en chroot,
quel GCC va être utilisé ? celui de mon PC, ou celui de l'arborescence chrootée (incompatible, puisque compilé pour l'architecture ARM)
Si GCC fonctionne, comment va t'il détecter l'architecture cible ?
Va t'il compiler pour l'architecture i386? (architecture de mon PC)
Ou va t'il compiler pour l'architecture ARM ? (en détectant que mon arborescence chrootée est issue d'une architecture ARM)

Qu'en pensez vous ?

Merci.

David.
  • # crosscompilation

    Posté par  . Évalué à 1.

    fait une petite recherche sur la cross compilation, tu devrais trouver des tutos qui t'interesses
  • # bienvenue dans le monde merveilleux de la crosscompil !

    Posté par  . Évalué à 2.

    Je suis en train de faire quasiement la meme chose (recompil kernel + modules) sur un synology ds101.

    Le site : http://www.nslu2-linux.org/wiki/ m'a beaucoup aidé !

    bonne compil !
  • # Comment ca marche ?

    Posté par  (site web personnel) . Évalué à 2.

    Désolé de ne pas repondre a ta question. Mais cette machine est capable de booter un systeme linux depuis son disque dur ? Ou alors il faut modifier le firmware pour monter /usr sur le disque ?

    SI oui, ca peut être interesent pour un petit serveur web embarqué
    • [^] # Re: Comment ca marche ?

      Posté par  . Évalué à 2.

      LE NSLU2 possède 32Mo de mémoire.
      Par défaut , il embarque un firmware linksys reposant sur linux.
      Une communauté s"est créée autour du NLSU2 sur http://www.nslu2-linux.org.
      On peut y trouver de nouveaux firmwares.
      Une fois le slug (petit nom du NSLU2) flashé, on peut installer une debian sur le disque. Rapidement :
      - boot du slug sur le flash
      - montage du disque usb, partitionnement, formatage
      - installation d'une arbo Debian
      - petite modif de config pour booter sur le disque et non plus sur flash
      - Et c'est parti !!!

      Je suis abonné chez Free, je compte m'en servir pour le Freeplayer et le multiposte (possibilité d'enregistrer les chaines de télé).

      Mon slug tourne aujourd'hui sur debian (que je ne connaissais auparavant), on peut disposer de tous les packages Debian.

      Perso, je trouve ce truc génial, mais ça rame un peu (comiler vlc + ffmpeg + 2 autres librairies) prend une journée.

      Je ne l'ai que depuis 3 jours, je suis donc encore en phase de découverte.

      A plus.

      David.
    • [^] # Re: Comment ca marche ?

      Posté par  . Évalué à 2.

      tu trouveras des exemples du configs ici :
      http://www.nslu2-linux.org/wiki/Info/WhatPeopleAreReallyUsin(...)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.