GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mengkompilasi sesuatu untuk Linux jika saya tidak memiliki cukup ruang untuk menginstal GCC?

Biasanya, untuk perangkat yang disematkan, seseorang tidak mengkompilasi perangkat lunak secara langsung di dalamnya. Lebih nyaman melakukan apa yang disebut cross-compilation singkatnya, kompilasi menggunakan PC biasa Anda ke arsitektur lain selain x86.

Anda bilang Anda baru mengenal Linux; Sekedar informasi, Anda menghadapi masalah besar:kompilasi silang ke perangkat tersemat bukanlah pekerjaan mudah.

Saya meneliti sistem HMI Anda dan melihat beberapa hasil yang membicarakan tentang Yocto.Yocto singkatnya, adalah keseluruhan kerangka kerja untuk membuat firmware untuk perangkat yang disematkan.

Karena HMI Anda secara besar-besaran menggunakan proyek Sumber Terbuka (Linux, mungkin busybox, dll.), pabrikan harus memberi Anda cara untuk membangun kembali semua komponen sumber terbuka sendiri. Biasanya, yang perlu Anda lakukan adalah BSP (Paket Dukungan Papan). Produsen perangkat keras biasanya mengirimkannya:

  • Menggunakan buildroot proyek yang memungkinkan Anda membangun kembali seluruh firmware dari awal.
  • Menggunakan yocto meta itu, ditambahkan ke salinan baru dari proyek yocto yang sesuai, akan memungkinkan Anda untuk membangun kembali seluruh firmware Anda juga.
  • Lebih jarang, banyak skrip jelek dan kompiler bawaan.

Jadi, jika saya jadi Anda, saya akan:

  1. Hubungi dukungan pabrikan untuk meminta hal-hal untuk membangun kembali firmware seperti yang tersirat dalam penggunaan Open Source.
  2. Secara paralel, telusuri "HMI + yocto Anda" di Google, "HMI + buildroot Anda", dll.

Setelah Googling lebih banyak lagi, saya menemukan meta Yocto di github.

Anda dapat memeriksa mesin yang diimplementasikan oleh meta ini pada direktori conf/machine dari meta.

Saat ini ada lima mesin yang ditentukan dengan nama kode berikut:

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

Jadi saya sarankan Anda menggali ini. Ini mungkin cara Anda membuat perangkat lunak sendiri. Anda juga dapat memeriksa halaman ini di akun github yang mungkin memberi Anda petunjuk lebih lanjut.


Saya setuju dengan jawaban binarym tentang kompilasi silang. Namun, jika seseorang masih ingin mengkompilasi langsung pada mesin dengan perangkat keras konservatif seperti itu, saya akan merekomendasikan untuk melihat kompiler yang lebih kecil seperti Tiny C Compiler (tcc) yang membutuhkan sekitar 100KB pada arsitektur x86. Akan tetapi, saya akan menunjukkan bahwa ini memperluas dukungan hanya hingga ISO C99, bukan C11.


Linux
  1. Berapa Banyak Ruang Tukar untuk Ditambahkan untuk Oracle Database di Linux

  2. Bagaimana cara menambahkan ruang swap di linux

  3. Bagaimana cara menambahkan jalur penyertaan default untuk GCC di Linux?

  1. Cara mengkompilasi biner 32-bit pada mesin linux 64-bit dengan gcc/cmake

  2. Bagaimana cara saya secara terprogram mendapatkan ruang disk kosong untuk direktori di Linux

  3. Bagaimana cara mengkompilasi pustaka dinamis untuk aplikasi JNI di linux?

  1. Bagaimana memilih laptop Linux yang terjangkau untuk konferensi video

  2. Bagaimana cara menyiram cache CPU untuk wilayah ruang alamat di Linux?

  3. Cara mengkompilasi kode Visual C++ Windows di Linux