zoukankan      html  css  js  c++  java
  • arm linux上的第一个应用程序 BOA移植

    1. 首先, linux在开发板上能跑起来了.

    包括网络驱动也有了, ifconfig之后, 能看到在rcS里面设置的IP, 也能ping通windows主机了, 当然, 也要window关掉防火墙才行.

    2. 在windows上起一个tftp, 后来发现这样是不行的, 因为每个包都要反复打包, 有点累, 还是用虚拟机开nfs比较靠谱, 但是我虚拟机不靠谱, 老是不走有线网卡, 主动跑去无线去了.

    3. busybo的tftp命令有点屌, 格式是:

    tftp -g -l localFileName -r remoteFileName x.x.x.x

    4. 然后下载boa, 修改boa.c文件

    注释掉下面这段代码:

       if (passwdbuf == NULL) {
       DIE(”getpwuid”);
       }
       if(initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) {
       DIE(”initgroups”);
       }
    
    //注释掉, 用#if 0 #endif
    

    5. 在example的文件夹找到boa.conf配置文件, 略加修改

        a. 将ServerName字段注释掉, 避免一个servername get不到的错误.

        b. 将User/UserGroup 都改成0

        c. 找到文档的根目录, 比如/var/www, 日志目录, 记下来

    6. 在开发板上建立/var/log/boa 目录用来放错误日志之类, 然后建立/var/www来存放网站根目录

    7. 回到ubuntu, 对boa的编译环境做个修改, 让他用交叉编译

    src/Makefile
    CC = arm-linux-gcc
    CPP = arm-linux-gcc -E

    先用.configure, 然后make

    辨已完成之后, 直接把src文件夹打包

    tar cvf src.tar src/

    不要压缩, 压缩的话, 在开发板上的busybox打不开, 或者是我没找到到方法把..总之直接打包.

    8. 最后用tftp把这个tar放到/var/boa/下面, 再把boa.conf文件也拷贝到/var/boa/下面, 然后直接运行src/boa就可以去错误日志的地方看看哪里有没有什么问题了. 没问题的日志是:

    [01/Jan/1970:01:29:20 +0000] caught SIGTERM, starting shutdown
    [01/Jan/1970:01:29:20 +0000] exiting Boa normally (uptime 99 seconds)
    [01/Jan/1970:00:02:03 +0000] boa: server version Boa/0.94.14rc21
    [01/Jan/1970:00:02:03 +0000] boa: server built Jan  9 2017 at 18:01:02.
    [01/Jan/1970:00:02:03 +0000] boa: starting server pid=780, port 80

    这样的.

    没问题的话, 试试建一个index.html的文件在www根目录下面, windows能访问, 表示boa成功移植了.

    PS, 增加一个mime.types文件, 直接把这个文件从ubuntu上面tftp到开发板就行了. 在etc下面.

    参考文档:

    http://blog.csdn.net/xdw1985829/article/details/6672742

  • 相关阅读:
    随笔1
    模块
    文件输入流
    一次javaweb登陆实验
    s7八进4
    jdbc连接数据库
    自己找茬
    用栈来求解汉诺塔问题
    用一个栈实现另一个栈的排序
    猫狗队列
  • 原文地址:https://www.cnblogs.com/Montauk/p/6266214.html
Copyright © 2011-2022 走看看