zoukankan      html  css  js  c++  java
  • DM8168 IPNC Boa移植

    1.交叉编译openssL

    下载openssL-1.0.0.tar.gz在虚拟机下进行交叉编译,生成libcrypto.a及libssl.a。将这两个文件复制到DVRRDK_03.00.00.00/boa-0.94.13/src文件夹下,编译过程例如以下:

    a)解压源代码:

    tar-zxvf openssl-1.0.0.tar.gz

    cdopenssl-1.0.0

    b)配置为linux arm的交叉编译状态

     ./Configure linux-elf-arm

    #改动makefile文件(L62),

    CC=arm-none-linux-gnueabi-gcc

    c)然后运行make就可以在当前文件夹下生成须要的库文件(libcrypto.a 和 libssl.a)

    ps:

    如此时在虚拟机内直接运行make test将会报下面错误:

    cannotexecute binary file。

    因交叉编译后的文件是不能够在linux下直接执行的。

    (3)交叉编译Boa

    本文的编译环境为centos6.3的Linux虚拟环境,在该环境中安装的交叉编译工具为arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu。

    a) 首先解压Boa源代码: #tar  zxvf  boa-0.94.13.tar.tar;

    b) 进入解压后Boa文件下的src文件里,生成makefile文件:# ./configure;

    c) 改动makefile文件里的编译工具。使生成的Boa程序能够在DM8168板上执行:

    改动CC = gcc 为 CC =arm-none-linux-gnueabi-gcc

    改动CPP = gcc -E 为 CPP =arm-none-linux-gnueabi-gcc –E

    改动下面路径:

    ROOTDIR = ../..

    INSTALLDIR = $(ROOTDIR)/target/rfs_816x/opt/dvr_rdk/ti816x

    APP_LIB_DIR = $(ROOTDIR)/interface/lib

    FC_TOOLS_DIR =

    $(ROOTDIR)/ti_tools/framework_components/framework_components_3_22_02_08/fctools

    PUBLIC_INCLUDE_DIR = $(ROOTDIR)/interface/inc

    这样就能够找到依赖的一些库文件,而且生成的可运行程序都在8168的挂载文件夹下。

    d) 运行命令#make编译boa。编译时会出现util.c:103:1:error: pasting ")" and "->" does not give a validpreprocessing token的错误,须要改动src文件夹下的compat.h文件,将#defineTIMEZONE_OFFSET(foo) foo##->tm_gmtoff改动成#defineTIMEZONE_OFFSET(foo) (foo)->tm_gmtoff就可以。此时在src文件夹下生成的Boa有将近两百KB(千字节),能够使用命令#Arm-none-linux-gnueabi-stripboa进行缩减,缩减后的可运行程序仅仅有60KB。

    (4)交叉编译freetype

    在编译boa的时候。会报例如以下错误。由于系统缺少freetype库文件。

    DVRRDK_03.00.00.00/ti_tools/cgt_a8/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld:     cannot find -lfreetype

    编译过程例如以下:

    a)在http://download.savannah.gnu.org/releases/freetype/下载freetype-2.4.0.tar.gz

    b)解压源代码:

       $ tar -zxvf freetype-2.4.0.tar.gz

    c)对源代码进行交叉编译配置

       $ cd freetype-2.4.0

       $./configure CC=arm-none-linux-gnueabi-gcc --host=arm-linux--prefix=$PWD/install

    d)编译生成库文件:

       $ make && make install

    e)将生成的库拷贝的交叉编译工具的库文件夹下:

    i:将生成的install/lib 下的libfreetype.so libfreetype.so.6libfreetype.so.6.5.0拷贝至...//arm-2009q1/arm-none-linux-gnueabi/libc/lib

    注:目标文件夹前的省略号为详细环境下的详细文件夹,如本环境中为:DVRRDK_03.00.00.00/ti_tools/cgt_a8/。请依据情况进行详细改动。

    ii:将生成的install/lib下的libfreetype.alibfreetype.la libfreetype.so libfreetype.so.6 libfreetype.so.6.5.0拷贝至

    DVRRDK_03.00.00.00/ti_tools/cgt_a8/arm-2009q1/arm-none-linux-gnueabi/libc/usr/lib

    iii:将生成的文件夹/install/include文件夹下的全部文件拷贝至:DVRRDK_03.00.00.00/ti_tools/cgt_a8/arm-2009q1/arm-none-linux-gnueabi/libc/usr/include

    (5)改动Boa配置文件

    只将Boa的可执行程序放入DM8168开发板中还不能执行。须要对其执行文件夹、系统參数等做一些改动。

    boa.conf保存了Boaserver执行时所要的一些參数,改动boa.conf就可以完毕对webserver的配置。主要改动的參数包含:

    Port 80                          //监听的port号使用80port

    User root                        //拥有root权限的用户才同意连接到server

    Group root                      //拥有root用户组的权限的client组才同意连接到server

    ErrorLog /var/log/boa/error_log    //将错误日志建立在/var/log/boa文件夹下

    AccessLog /var/log/boa/access_log   //将訪问日志保存在/var/log/boa文件夹下

    DocumentRoot /var/www     //HTML文档的主文件夹设定在/var/www文件夹下DirectoryIndex  index.htm                       //指定预生成文件夹信息的文件的索引名为index.htm

    KeepAliveMax 1000              //设置一个连接所同意的HTTP 持续作用请求最大数目

    KeepAliveTimeout 60        /*设置server在持续作用中等待两次请求之间的时间超过60s就关闭该连接*/

    MimeTypes /etc/mime.types        //指明mime.types 文件位置为/etc文件夹下

    CGIPath /bin:/usr/bin:/usr/local/bin  //提供CGI 程序的PATH 环境变量值

    ScriptAlias /cgi-bin/ /var/www/cgi-bin/  /*指明CGI 脚本的虚拟路径相应的实际路径(将CGI脚本的虚拟路径/cgi-bin/映射到一个实际路径/var/www/cgi-bin/)*/

    ServerName IPNC                 //设置server的名字为IPNC

    在文档中摘录。如有缺失还请大家见谅。

    转载请注明:http://blog.csdn.net/guo8113/article/details/46433249

  • 相关阅读:
    什么是restful风格?
    android中设置控件获得焦点
    Android中Parcelable的原理和使用方法
    webstorm快捷键大全
    HTTP状态码
    三行代码写爬虫
    HTTrackPortable
    安装mac系统
    Vue常用的操作指令
    什么样的人不适合当程序员呢?
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/7112974.html
Copyright © 2011-2022 走看看