GNU/Linux >> Znalost Linux >  >> Linux

Jak zkompiluji něco pro Linux, když nemám dostatek místa pro instalaci GCC?

U vestavěného zařízení se obvykle nekompiluje software přímo na něm. Je pohodlnější dělat to, co se nazývá cross-compilation což je ve zkratce kompilace pomocí vašeho běžného PC na jinou architekturu než x86.

Řekl jsi, že jsi v Linuxu nováčkem; jen pro vaši informaci, čelíte obrovskému problému:křížová kompilace na vestavěná zařízení není snadný úkol.

Prozkoumal jsem váš HMI systém a všiml jsem si některých výsledků, které hovoří o Yocto.Yocto je zkrátka celý rámec pro vytváření firmwaru pro vestavěná zařízení.

Protože vaše HMI masivně využívá Open Source projekty (Linux, pravděpodobně busybox atd.), výrobce musí poskytuje způsob, jak svépomocí přestavět všechny open source komponenty. Obvykle to musíte udělat BSP (Balík podpory desky). Výrobce hardwaru jej obvykle dodává:

  • Pomocí buildroot projekt, který vám umožní přestavět celý váš firmware od začátku.
  • Pomocí yocto meta, která vám po přidání do nové kopie odpovídajícího projektu yocto umožní přestavět celý váš firmware.
  • Vzácněji hromada mizerných skriptů a předem sestaveného kompilátoru.

Takže na vašem místě bych:

  1. Kontaktujte podporu výrobce a požádejte o věci pro přebudování firmwaru, jak vyplývá z použití Open Source.
  2. Paralelně vyhledejte na Googlu „vaše HMI + yocto“, „vaše HMI + kořenový adresář“ atd.

Po ještě větším googlování jsem na githubu našel meta Yocto.

Stroje implementované touto meta můžete zkontrolovat v adresáři conf/machine meta.

V současné době je definováno pět počítačů pod těmito kódovými názvy:

  • sada us01
  • sada us02
  • sada us03
  • usom01
  • usom02

Takže navrhuji, abyste se do toho pustili. Toto je pravděpodobně způsob, jak si můžete vytvořit software sami. Můžete se také podívat na tuto stránku na účtu github, která vám může poskytnout další vodítka.


Souhlasím s odpovědí binarymu ohledně křížové kompilace. Pokud byste však přesto chtěli kompilovat přímo na stroji s takto konzervativním hardwarem, doporučil bych poohlédnout se po menším kompilátoru, jako je Tiny C Compiler (tcc), který na architektuře x86 zabírá přibližně 100 kB. Upozorňuji však, že rozšiřuje podporu pouze do ISO C99, nikoli C11.


Linux
  1. Potřebuji swapovací prostor, když mám více než dostatečné množství RAM?

  2. Kolik swapového prostoru přidat pro Oracle Database v Linuxu

  3. Jak zvětšit odkládací prostor v Linuxu

  1. Jak si vybrat cenově dostupný linuxový notebook pro videokonference

  2. Jak přidat odkládací prostor v linuxu

  3. Jak přidat výchozí zahrnutou cestu pro GCC v Linuxu?

  1. Jak zkompilovat 32bitový binární soubor na 64bitovém linuxovém stroji s gcc/cmake

  2. Jak programově získám volné místo na disku pro adresář v Linuxu

  3. Jak zkompilovat dynamickou knihovnu pro aplikaci JNI na linuxu?