GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso compilare qualcosa per Linux se non ho abbastanza spazio per installare GCC?

Di solito, per un dispositivo embedded, non si compila il software direttamente su di esso. È più comodo fare quello che si chiama cross-compilation che è, in breve, compilare usando il tuo normale PC su un'architettura diversa da x86.

Hai detto di essere nuovo su Linux; solo per tua informazione, stai affrontando un grosso problema:la compilazione incrociata su dispositivi embedded non è un lavoro facile.

Ho cercato il tuo sistema HMI e ho notato alcuni risultati che parlano di Yocto.Yocto è, in breve, un intero framework per creare firmware per dispositivi embedded.

Poiché il tuo HMI utilizza in modo massiccio progetti Open Source (Linux, probabilmente busybox, ecc.) il produttore deve fornirti un modo per ricostruire tutti i componenti open source da solo. Di solito, ciò di cui hai bisogno è il BSP (Board Support Package). Il produttore dell'hardware di solito lo spedisce:

  • Utilizzando buildroot progetto che ti consente di ricostruire l'intero firmware da zero.
  • Utilizzando yocto meta che, aggiunto a una nuova copia del progetto yocto corrispondente, ti permetterà di ricostruire anche l'intero firmware.
  • Più raramente, un mucchio di script scadenti e un compilatore predefinito.

Quindi, se fossi in te, lo farei:

  1. Contatta l'assistenza del produttore per richiedere il materiale per ricostruire il firmware come implicato dall'uso dell'Open Source.
  2. In parallelo, cerca su Google "il tuo HMI + yocto", "il tuo HMI + buildroot", ecc.

Dopo aver cercato ancora di più su Google, ho scoperto un meta Yocto su github.

Puoi controllare le macchine implementate da questo meta nella directory conf/machine del meta.

Attualmente ci sono cinque macchine definite con i seguenti nomi in codice:

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

Quindi ti suggerisco di scavare in questo. Questo è probabilmente il modo in cui puoi creare software da solo. Puoi anche controllare questa pagina sull'account github che potrebbe darti qualche indizio in più.


Sono d'accordo con la risposta di binarym riguardo alla compilazione incrociata. Tuttavia, se si volesse ancora compilare direttamente su una macchina con un hardware così conservativo, consiglierei di dare un'occhiata a un compilatore più piccolo come Tiny C Compiler (tcc) che occupa circa 100 KB su architettura x86. Sottolineerò, tuttavia, che estende il supporto solo fino a ISO C99, non C11.


Linux
  1. Quanto spazio di scambio aggiungere per Oracle Database su Linux

  2. Come aggiungere spazio di swap in Linux

  3. Come aggiungere un percorso di inclusione predefinito per GCC in Linux?

  4. Come compilare un binario a 32 bit su una macchina Linux a 64 bit con gcc/cmake

  5. Come posso ottenere a livello di codice lo spazio libero su disco per una directory in Linux

Come controllare lo spazio su disco in Linux

Come controllare l'utilizzo dello spazio su disco in Linux

Come installare Setuptools per Python su Linux

Come controllare lo spazio di scambio in Linux

Come compilare codice Windows Visual C++ su Linux

Come compilare l'app .NET Core per Linux in un computer Windows