GNU/Linux >> Tutoriels Linux >  >> Linux

Comment compiler quelque chose pour Linux si je n'ai pas assez d'espace pour installer GCC ?

Habituellement, pour un appareil embarqué, on ne compile pas de logiciel directement dessus. C'est plus confortable de faire ce qu'on appelle cross-compilation qui est, en bref, compiler à l'aide de votre PC habituel vers une autre architecture que x86.

Vous avez dit que vous êtes nouveau sur Linux; juste pour votre information, vous êtes confronté à un énorme problème :la compilation croisée vers des périphériques embarqués n'est pas une tâche facile.

J'ai fait des recherches sur votre système IHM et j'ai remarqué des résultats qui parlent de Yocto.Yocto est, en bref, un cadre complet pour créer des micrologiciels pour les appareils embarqués.

Étant donné que votre IHM utilise massivement des projets Open Source (Linux, probablement busybox, etc.), le fabricant doit vous fournir un moyen de reconstruire tous les composants open source par vous-même. Habituellement, ce que vous devez faire c'est le BSP (Board Support Package). Le fabricant du matériel l'expédie généralement :

  • Utiliser buildroot projet qui vous permet de reconstruire tout votre firmware à partir de zéro.
  • Utiliser yocto meta qui, ajouté à une nouvelle copie du projet yocto correspondant, vous permettra également de reconstruire tout votre firmware.
  • Plus rarement, un tas de scripts de merde et un compilateur pré-construit.

Donc, si j'étais vous, je ferais :

  1. Contactez l'assistance du fabricant pour demander les éléments nécessaires à la reconstruction du micrologiciel, comme l'implique l'utilisation de l'Open Source.
  2. En parallèle, recherchez sur Google "votre IHM + yocto", "votre IHM + buildroot", etc.

Après avoir googlé encore plus, j'ai découvert une méta Yocto sur github.

Vous pouvez vérifier les machines implémentées par cette méta dans le répertoire conf/machine de la méta.

Il existe actuellement cinq machines définies sous les noms de code suivants :

  • us01-kit
  • us02-kit
  • us03-kit
  • usom01
  • usom02

Je vous suggère donc de creuser cela. C'est probablement la façon dont vous pouvez créer des logiciels par vous-même. Vous pouvez également consulter cette page sur le compte github qui peut vous donner d'autres indices.


Je suis d'accord avec la réponse de binarym concernant la compilation croisée. Cependant, si l'on voulait toujours compiler directement sur une machine avec un matériel aussi conservateur, je recommanderais de jeter un coup d'œil à un compilateur plus petit tel que le compilateur Tiny C (tcc) qui occupe environ 100 Ko sur l'architecture x86. Je soulignerai cependant qu'il étend la prise en charge uniquement jusqu'à ISO C99, pas C11.


Linux
  1. Comment augmenter l'espace d'échange sous Linux

  2. Comment ajouter un chemin d'inclusion par défaut pour GCC sous Linux ?

  3. Comment compiler un binaire 32 bits sur une machine Linux 64 bits avec gcc/cmake

  4. Comment puis-je obtenir par programme l'espace disque libre pour un répertoire sous Linux

  5. Comment compiler une bibliothèque dynamique pour une application JNI sous Linux ?

Comment vérifier l'espace disque sous Linux

Comment vérifier l'utilisation de l'espace disque sous Linux

Comment installer Setuptools pour Python sur Linux

Comment vérifier l'espace d'échange sous Linux

Comment compiler l'application .NET Core pour Linux sur une machine Windows

Comment installer VIM sur Linux lorsque je n'ai pas les droits root ?