Was this page helpful?

STLinux Cross-Compile Enviroment

    如何 porting APP 至機上盒 (non cross compile)

    對於那些 STLinux 已經支援的 APP,不需再經過 cross-compile,而是先在 x86 機上安裝好,就可以直接移植到機上盒。
    以 OpenSSL 為例:

    1. 在 x86 的 Ubuntu 先從網路上安裝該 OpenSSL
    2. 使用 rpm 指令找出 OpenSSL 套件包含哪些檔案
    3. 將相關的函式庫以及指令檔全部複製到一個目錄
    4. 將目錄上傳到機上盒,然後依照原本的目錄架構,將所有檔案及目錄複製到機上盒系統內。
       

    在 x86 透過網路安裝 OpenSSL

    cd /opt/STM/STLinux-2.3/host/bin
    sudo ./stmyum search openssl
    

    stlinux23-sh4-openssl.sh4                1.0.0j-20              installed
    Matched from:
    stlinux23-sh4-openssl
    The OpenSSL Project is a collaborative effort to develop a robust,
    commercial-grade, fully featured, and Open Source toolkit implementing the
    Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1)
    protocols as well as a full-strength general purpose cryptography library.
    The project is managed by a worldwide community of volunteers that use the
    Internet to communicate, plan, and develop the OpenSSL tookit and its related
    documentation.

    OpenSSL is based on the excellent SSLeay library developed from Eric A.
    Young and Tim J. Hudson.  The OpenSSL toolkit is licensed under an
    Apache-style licence, which basically means that you are free to get and
    use it for commercial and non-commercial purposes.

    This package contains the base OpenSSL cryptography and SSL/TLS
    libraries and tools.
    http://www.openssl.org/

    看起來已經安裝過了,如果還沒安裝,可以再執行 ./stmyum install <完整套件名稱>。
    想了解更多 stmyum 指令用法,可以前往 http://www.stlinux.com/install/distribution/STMYUM

    找出套件 openssl 所包含的檔案及目錄路徑

    sudo rpm -ql stlinux23-sh4-openssl
    

    /opt/STM/STLinux-2.3/devkit/sh4/target/usr/bin/openssl
    /opt/STM/STLinux-2.3/devkit/sh4/target/usr/bin/ssleay
    /opt/STM/STLinux-2.3/devkit/sh4/target/usr/lib/engines/lib4758cca.so
    /opt/STM/STLinux-2.3/devkit/sh4/target/usr/lib/engines/libaep.so
    /opt/STM/STLinux-2.3/devkit/sh4/target/usr/lib/engines/libatalla.so
    /opt/STM/STLinux-2.3/devkit/sh4/target/usr/lib/engines/libcapi.so
    /opt/STM/STLinux-2.3/devkit/sh4/target/usr/lib/engines/libchil.so
    /opt/STM/STLinux-2.3/devkit/sh4/target/usr/lib/engines/libcswift.so
    /opt/STM/STLinux-2.3/devkit/sh4/target/usr/lib/engines/libgmp.so
    /opt/STM/STLinux-2.3/devkit/sh4/target/usr/lib/engines/libgost.so
    /opt/STM/STLinux-2.3/devkit/sh4/target/usr/lib/engines/libnuron.so
    /opt/STM/STLinux-2.3/devkit/sh4/target/usr/lib/engines/libpadlock.so
    /opt/STM/STLinux-2.3/devkit/sh4/target/usr/lib/engines/libsureware.so
    /opt/STM/STLinux-2.3/devkit/sh4/target/usr/lib/engines/libubsec.so
    ...
    ...

    • 檔案列表中可以忽略 doc, man, include 等相關目錄內的檔案
    • 複製檔案時,要從 /opt/STM/STLinux-2.3/devkit/sh4/target 的後面開始保留所有路徑。
    Was this page helpful?
    標籤 (Edit tags)
    • No tags
    您必須 登入 才能發佈評論。
    Powered by MindTouch Core