GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo compilo algo para Linux si no tengo suficiente espacio para instalar GCC?

Por lo general, para un dispositivo integrado, uno no compila software directamente en él. Es más cómodo hacer lo que se llama cross-compilation que es, en resumen, compilar usando su PC normal a otra arquitectura que no sea x86.

Dijiste que eres nuevo en Linux; solo para su información, se enfrenta a un gran problema:la compilación cruzada en dispositivos integrados no es un trabajo fácil.

Investigué su sistema HMI y noté algunos resultados que hablan de Yocto.Yocto es, en resumen, un marco completo para construir firmware para dispositivos integrados.

Dado que su HMI utiliza masivamente proyectos de código abierto (Linux, probablemente busybox, etc.), el fabricante debe proporcionarle una forma de reconstruir todos los componentes de código abierto usted mismo. Por lo general, lo que debe hacer es el BSP (Paquete de soporte de la placa). El fabricante del hardware generalmente lo envía:

  • Usando buildroot proyecto que le permite reconstruir todo su firmware desde cero.
  • Usando yocto meta que, agregada a una copia nueva del proyecto yocto correspondiente, también le permitirá reconstruir todo su firmware.
  • Más raramente, un montón de scripts malos y un compilador preconstruido.

Entonces, si yo fuera tú, yo:

  1. Póngase en contacto con el soporte del fabricante para solicitar el material para reconstruir el firmware como implica el uso de código abierto.
  2. Paralelamente, busque en Google "su HMI + yocto", "su HMI + buildroot", etc.

Después de buscar en Google aún más, descubrí una meta de Yocto en github.

Puede verificar las máquinas implementadas por este meta en el directorio conf/machine del meta.

Actualmente hay cinco máquinas definidas con los siguientes nombres en clave:

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

Así que te sugiero que profundices en esto. Esta es probablemente la forma en que puede crear software usted mismo. También puede consultar esta página en la cuenta de github que puede darle más pistas.


Estoy de acuerdo con la respuesta de binarym con respecto a la compilación cruzada. Sin embargo, si todavía quisiera compilar directamente en una máquina con un hardware tan conservador, recomendaría echar un vistazo a un compilador más pequeño como el Compilador Tiny C (tcc), que ocupa aproximadamente 100 KB en la arquitectura x86. Señalaré, sin embargo, que extiende el soporte solo hasta ISO C99, no C11.


Linux
  1. Cómo probar un paquete sin instalarlo en Linux

  2. Linux:¿cómo usar el espacio de intercambio solo para emergencias?

  3. Cuánto espacio de intercambio agregar para Oracle Database en Linux

  4. Cómo aumentar el espacio de intercambio en Linux

  5. ¿Cómo obtengo programáticamente el espacio libre en disco para un directorio en Linux?

Cómo verificar el espacio en disco en Linux

Cómo verificar el uso del espacio en disco en Linux

Cómo instalar Setuptools para Python en Linux

¿Necesito espacio de intercambio si tengo una cantidad de RAM más que suficiente?

Cómo verificar el espacio de intercambio en Linux

Cómo compilar la aplicación .NET Core para Linux en una máquina con Windows