GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kompiliere ich etwas für Linux, wenn ich nicht genug Speicherplatz für die Installation von GCC habe?

Normalerweise kompiliert man für ein eingebettetes Gerät keine Software direkt darauf. Es ist bequemer, das zu tun, was cross-compilation genannt wird das ist kurz gesagt das Kompilieren mit Ihrem normalen PC auf eine andere Architektur als x86.

Sie sagten, Sie seien neu bei Linux; Nur zu Ihrer Information, Sie stehen vor einem riesigen Problem:Cross-Compiling auf eingebettete Geräte ist keine leichte Aufgabe.

Ich habe Ihr HMI-System recherchiert und einige Ergebnisse festgestellt, die sich auf Yocto beziehen.Yocto ist kurz gesagt ein ganzes Framework zum Erstellen von Firmware für eingebettete Geräte.

Da Ihr HMI massiv Open-Source-Projekte (Linux, wahrscheinlich busybox, etc.) verwendet, muss der Hersteller müssen bietet Ihnen die Möglichkeit, alle Open-Source-Komponenten selbst neu zu erstellen. Normalerweise benötigen Sie dazu BSP (Board Support Package). Hardware-Hersteller versenden es normalerweise:

  • Mit buildroot Projekt, mit dem Sie Ihre gesamte Firmware von Grund auf neu erstellen können.
  • Mit yocto Meta, das Ihnen, wenn es einer frischen Kopie des entsprechenden Yocto-Projekts hinzugefügt wird, es Ihnen ermöglicht, auch Ihre gesamte Firmware neu zu erstellen.
  • Eher selten, ein Haufen beschissener Skripte und vorgefertigter Compiler.

An Ihrer Stelle würde ich also:

  1. Wenden Sie sich an den Support des Herstellers und fragen Sie nach dem Material, um die Firmware neu zu erstellen, wie dies durch die Verwendung von Open Source impliziert wird.
  2. Suchen Sie parallel dazu bei Google nach "Ihr HMI + Yocto", "Ihr HMI + Buildroot" usw.

Nachdem ich noch mehr gegoogelt hatte, fand ich ein Yocto-Meta auf Github heraus.

Sie können die von diesem Meta implementierten Maschinen im Verzeichnis conf/machine des Meta überprüfen.

Derzeit sind fünf Maschinen unter den folgenden Codenamen definiert:

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

Ich schlage daher vor, dass Sie sich damit befassen. Auf diese Weise können Sie wahrscheinlich selbst Software erstellen. Sie können auch diese Seite im Github-Konto überprüfen, die Ihnen möglicherweise weitere Hinweise gibt.


Ich stimme der Antwort von Binarym bezüglich Cross-Compiling zu. Wenn man dennoch direkt auf einer Maschine mit solch konservativer Hardware kompilieren möchte, würde ich empfehlen, einen Blick auf kleinere Compiler wie den Tiny C Compiler (tcc) zu werfen, der ungefähr 100 KB auf x86-Architektur belegt. Ich möchte jedoch darauf hinweisen, dass die Unterstützung nur bis ISO C99 erweitert wird, nicht bis C11.


Linux
  1. So testen Sie ein Paket, ohne es unter Linux zu installieren

  2. Linux – Wie benutzt man Swap Space nur für Notfälle?

  3. Brauche ich Swap Space, wenn ich mehr als genug RAM habe?

  4. So kompilieren Sie eine 32-Bit-Binärdatei auf einem 64-Bit-Linux-Rechner mit gcc/cmake

  5. Wie erhalte ich programmgesteuert den freien Speicherplatz für ein Verzeichnis in Linux

So wählen Sie einen erschwinglichen Linux-Laptop für Videokonferenzen aus

So überprüfen Sie den Speicherplatz unter Linux

So überprüfen Sie die Speicherplatznutzung in Linux

So installieren Sie Setuptools für Python unter Linux

So überprüfen Sie den Auslagerungsbereich unter Linux

So kompilieren Sie die .NET Core-App für Linux auf einem Windows-Computer