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

arm linux上的第一个应用程序 BOA移植的更多相关文章

  1. Linux上设置开机启动Java程序

    在Linux上设置开机启动Java程序,例如:test.jar 在Linux上启动Java程序的命令: nohup java -jar test.jar >/dev/>& & ...

  2. 在 Linux 上找出并解决程序错误的主要方法【转】

    转自:https://www.ibm.com/developerworks/cn/linux/sdk/l-debug/index.html 本文讨论了四种调试 Linux 程序的情况.在第 1 种情况 ...

  3. 提高 Linux 上 socket 性能 加速网络应用程序的 4 种方法

    使用 Sockets API,我们可以开发客户机和服务器应用程序,它们可以在本地网络上进行通信,也可以通过 Internet 在全球范围内进行通信.与其他 API 一样,您可以通过一些方法使用 Soc ...

  4. Boa服务器在ARM+Linux上的移植

    下面给大家介绍一下Boa服务器移植的具体操作步骤,希望能够有帮助. 环境        主机:ubuntu8.10        交叉工具链:gcc-3.4.5-glibc-2.3.6         ...

  5. 在SAP云平台ABAP编程环境上编写第一段ABAP程序

    距2017年秋季的SAP TechEd大会上一位大佬Björn Goerke,SAP's Chief Technology Officer宣布了SAP Cloud Platform即将支持ABAP至今 ...

  6. 在64位的linux上运行32位的程序

    1.症状 (1)执行bin文件时提示:No such file or directory (2)ldd bin文件  的输出为: not a dynamic executable (3)file bi ...

  7. linux上chrome、vlc等程序root不能运行的解决办法

    which vlc 或者 whereis vlc 输入/geteuid,输入i进入输入模式,将geteuid改成getppid,然后ESC,输入wq,保存退出,这样程序root用户就可以运行了. ch ...

  8. 直播 linux上的第一个c++程序

    这里用crt来直播吧: 登录到服务器上之后: 1.mkdir -p 建一个文件夹 2.ll 查看一下这个文件夹 3.cd 进入这个文件夹 4.vim 进行文本编辑 写完之后,按下esc中止输入模式,用 ...

  9. 009-2010网络最热的 嵌入式学习|ARM|Linux|wince|ucos|经典资料与实例分析

    前段时间做了一个关于ARM9 2440资料的汇总帖,很高兴看到21ic和CSDN等论坛朋友们的支持和鼓励.当年学单片机的时候datasheet和学习资料基本都是在论坛上找到的,也遇到很多好心的高手朋友 ...

随机推荐

  1. Spring MVC url提交参数和获取参数

    [转载:http://blog.csdn.net/mahoking] 普通URL提交参数         该格式url为:url.do?param1=mahc&param2=8888.00 需 ...

  2. SheetOffice控件使用分享

    1.  控件属性及说明 Template:套用的模板目录(套用模板会使用到) 模板中必须包含书签: Body,这个是在代码中写死了的,是把当前文档的内容插入到模板的Body书签中. 如果使用印章,必须 ...

  3. php命令行

    转载(http://blog.jobbole.com/109093/) PHP作为一门web开发语言,通常情况下我们都是在Web Server中运行PHP,使用浏览器访问,因此很少关注其命令行操作以及 ...

  4. Kernel 4.9的BBR拥塞控制算法。

    重要的事情说三遍! BBR并不能突破带宽限制!!! BBR并不能突破带宽限制!!! BBR并不能突破带宽限制!!! 它的功能如下: 1.在高丢包率与低速率的网络中提升传输效果,充分利用带宽. 2.降低 ...

  5. python常用的一些东西——sys、os等

    1.常用内置函数:(不用import就可以直接使用)      help(obj) 在线帮助, obj可是任何类型     callable(obj) 查看一个obj是不是可以像函数一样调用     ...

  6. Android 自定义CheckBox样式

    1.首先在drawable文件夹中添加drawable文件checkbox_style.xml. <selector xmlns:android="http://schemas.and ...

  7. @余凯_西二旗民工 【SVM之菜鸟实现】—5步SVM

    #翻译#了下 余凯老师的 心法 以前的一篇博文:二分类SVM方法Matlab实现 前几日实现了下,虽然说是Linear-SVM,但是只要可以有映射函数也可以做kernel-svm function [ ...

  8. Java基础知识强化74:正则表达式之分割功能 (扩展练习)

    1. 看程序写结果:(面试题考过) package cn.itcast_03; /* * 分割功能练习 */ public class RegexDemo2 { public static void ...

  9. AS 自动生成选择器 SelectorChapek

    简介 https://github.com/inmite/android-selector-chapek 设计师给我们提供好了各种资源,每个按钮都要写一个selector是不是很麻烦? 这么这个插件就 ...

  10. MySQL性能调优与架构设计读书笔记

    可扩展性设计之数据切分 14.2 数据的垂直切分 如何切分,切分到什么样的程度,是一个比较考验人的难题.只能在实际的应用场景中通过平衡各方面的成本和利益,才能分析出一个真正适合自己的拆分方案. 14. ...