Asterisk Cross-Compilation for ARM Processor

    版本為 16:42, 20 Nov 2024

    到這個版本。

    返回到 版本存檔.

    查閱目前版本

    說明

    此篇再說明如何建立一個 Cross-Compile 的 Linux x86 編譯環境,透過相對應的 CPU 的 toolchain,就可編譯 Asterisk 套件。

    重點項目如下:

    • 選擇一個好用的 Linux x86 系統,可運作在實體機器或虛擬機,本次使用 Ubuntu 10 32-bit 於 VMware ESXi 下。
    • 下載合適的 toolchain 檔案(應該要包含所需的編譯器程式等),並建立 Cross-Compile 執行環境。
    • 先 Cross-Compile ncurses 套件,這是編譯 Asterisk 時所需要的。
    • 開始 Cross-Compile Asterisk 套件

    安裝 Ubuntu 10 x86 Linux

    • 選擇一般安裝即可。
    • 可安裝在實體機或虛擬機。

    建立 Cross-Compile 編譯環境

    • 依照 embedded system 所用的處理器,找尋並下載 toolchain 的檔案,內含有需要的各種編譯器程式檔。本次以這個 toolchain: arm-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 為例。
    • Cross-Compile 不需要 root 權限,所以在 /home 目錄下作業即可。
    • 手動建立幾個作業目錄
      • ~/ARM_Cross-Compile/toolchain : 用來放各種不同的 toolchain 檔。
      • ~/ARM_Cross-Compile/build_source : 要編譯套件的原始檔
      • ~/ARM_Cross-Compile/build_opt : 已作完 Cross-Compile 的套件執行目錄。
      • ~/ARM_Cross-Compile/build_start : 實際作 Cross-Compile 的工作目錄。

    Cross-Compile ncurses

    cd /home/alang/ARM_Cross-Compile/build_start/ncurses-5.9/
    
    CC=arm-none-linux-gnueabi-gcc \
    CXX=arm-none-linux-gnueabi-g++ \
    ./configure arm-linux --host=arm-none-linux-gnueabi --with-shared --without-ada --with-build-cc=gcc --with-build-cpp=arm-none-linux-gnueabi-g++ --enable-termcap  --prefix=/home/alang/ARM_Cross-Compile/build_opt/ncurses
    
    make
    make install
    
    Powered by MindTouch Core