GNU/Linux >> Belajar Linux >  >> Linux

Kompilasi silang untuk router MIPS dari x86

Lihat:

http://www.kegel.com/crosstool/

Ini adalah situs otoritatif pada kompilasi silang di bawah GCC.


Anda benar, Anda memerlukan mips toolchain yang tepat untuk mengkompilasi silang aplikasi Anda dan Buildroot dapat melakukannya. Tetapi Anda mungkin perlu men-tweak menuconfig buildroot opsi.Tergantung pada keluaran file , opsi Anda dapat berubah. Di sistem saya, aplikasi biner menginformasikan hal berikut:

ELF 32-bit MSB executable, MIPS, MIPS32 rel2 version 1 (SYSV)

Ini adalah opsi yang telah saya aktifkan untuk menuconfig Buildroot saya:

Target Architecture (mips)  ---> 
Target Architecture Variant (mips 32r2)  --->                                                            
Target ABI (o32)  --->                                                                                   
Target options  --->                                                                                     
Build options  --->   
    (/opt/cross-mips-buildroot) Toolchain and header file location?                                                                                   
Toolchain  --->        
    Toolchain type (Buildroot toolchain)  ---> 
    Kernel Headers (Linux 2.6.34.x kernel headers)  --->
    uClibc C library Version (uClibc 0.9.31.x)  ---> 
    [*] Build/install a shared libgcc?
    [*] Enable compiler tls support       
    [*] Build gdb debugger for the Target
    [*] Build gdb server for the Target
    [*] Build gdb for the Host
        GDB debugger Version (gdb 6.8)  --->
    [*] Enable large file (files > 2 GB) support?
    [*] Enable WCHAR support
    [*] Use software floating point by default
    [*] Enable stack protection support
    [*] Build/install c++ compiler and libstdc++?
    [*] Include target utils in cross toolchain  
Package Selection for the target  --->   
    [*] BusyBox
    [*]   Run BusyBox's own full installation
    Libraries  ---> 
        Networking  ---> 
            [*] libcurl
        Text and terminal handling  ---> 
            [*] icu
            -*- ncurses    
Target filesystem options  --->                                                                          
Bootloaders  --->                                                                                        
Kernel  --->

Toolchain itu sendiri dipasang di /opt/cross-mips-buildroot . Anda dapat menemukan kompiler dan alat lainnya di /opt/cross-mips-buildroot/usr/bin/

Coba kompilasi hello world sederhana aplikasi dan lihat apakah Anda dapat menjalankannya di dalam sistem mips.

Catatan: konfigurasi ini tidak akan membangun kompiler C++. Jika Anda membutuhkannya, Anda dapat grep LIBSTDCPP .config dan periksa apakah itu aktif atau tidak dan ubah sesuai keinginan Anda. Lalu make menuconfig untuk mewujudkannya.


Linux
  1. Windows – Penjelasan Orang Awam Untuk “Semuanya Adalah File” — Apa Bedanya dengan Windows?

  2. Ubuntu 18.04 Tidak Mengenali Nama Host Dari Router?

  3. Langkah tingkat tinggi untuk bermigrasi dari Amazon Web Services

  1. Bagaimana menghindari ssh dari meminta frasa sandi kunci untuk login tanpa kata sandi

  2. Skrip Bash:Menggunakan perintah skrip dari skrip bash untuk mencatat sesi

  3. Bagaimana cara berhenti menambahkan IP dari EC2 ke known_hosts untuk ssh?

  1. Keluar dari Karakter Tidak Dikenal Dari String Untuk -exec?

  2. Membaca Baris Dari File Dengan Bash:Untuk Vs. Ketika?

  3. Bagaimana Anda membuat daftar/file untuk menginstal pacman?