1. 程式人生 > >移植boa 伺服器到arm開發板筆記

移植boa 伺服器到arm開發板筆記

(1)開發版:    TQ2440 ,

(2)編譯linux主機:  虛擬機器上的RHEL 5.4  

(3)交叉 工具鏈:   是前段時間自己編譯出來的arm-sdutyl-linux-gnueabi-gcc

(4)環境變數:

[[email protected] build_boa]$ cat ~/bashEnv
#!/bin/sh

export PRJROOT=/home/yanglu/arm
export TARGET=arm-sdutyl-linux-gnueabi
export PREFIX=${PRJROOT}/tools
export TARGET_PREFIX=${PREFIX}/${TARGET}
export PATH=$PREFIX/bin:$PATH


交叉編譯boa伺服器。

到boa web 官網http://www.boa.org/上下載boa-0.94.13.tar.gz

一、boa 伺服器編譯
1、修改boa.conf的路徑
 boa-0.94.13/src/defines.h

#ifndef SERVER_ROOT
#define SERVER_ROOT "/var/boa"
#endif

2、[[email protected] build_boa]$../boa-0.94.13/src/configure   --host={$TARGET}
3、[[email protected] build_boa]$ vi Makefile   
    注:修改Makefile的CC和GCC
    CC = gcc
    CPP = gcc   –E
    成交叉編譯gcc
    CC = ${TARGET}-gcc
    CPP =${TARGET}-gcc   –E

4、[[email protected] build_boa]$ make


二、boa 伺服器配置:
1、需要的檔案。
(1)、檔案 mime.types  從編譯主機/etc/mime.types 取得
(2)、檔案boa.conf     從src/boa.conf 取得
(3)、編譯出來的boa檔案。

2、修改boa.conf 成自己想要的配置。
將boa.conf 拷貝到開發版的/var/boa目錄, 其他按照boa.conf中的配置來放置檔案。
我的配置目錄是:
/var/boa/boa
/var/boa/boa.conf
/var/boa/mime.types
/var/boa/www
/var/boa/www/index.html
/var/boa/log
/var/boa/www/cgi-bin/

三、goa 執行
[[email protected] boa]#./goa &

錯誤:
1、如果出現parse.h
可以修改成parse.h 的絕對路徑。
#include  "../boa-0.94.13/src/parse.h"

2、 util.c:100:1: error: pasting "t" and "->"
解決辦法: 修改 src/compat.h
   找到
   #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
   修改成
   #define TIMEZONE_OFFSET(foo) foo->tm_gmtoff

3、: gethostbyname:: No such file or directory
     解決辦法: 修改boa.conf 去掉 ServerName www.your.org.here 前的註釋符號(#)
 
4、: boa.c:228 - icky Linux kernel No such file or directory
    解決辦法: 修改src/boa.c
  註釋掉下面語句:
  if (setuid(0) != -1) {
  DIE(”icky Linux kernel bug!”);
  }
  即修改為:
  #if 0
   if (setuid(0) != -1) {
  DIE(”icky Linux kernel bug!”);
  }
  #endif
5、"./boa: 1: syntax error: "(" unexpected"
解決:沒有修改Makefile,是用gcc編譯的,應該改成是${TARGET}-gcc 編譯。


附:boa.conf 配置
[[email protected] /]# cat /var/boa/boa.conf  | grep -v "^#"  | grep -v "^$"
Port 8080
User root
Group root
ErrorLog /var/boa/log/error_log
AccessLog /var/boa/log/access_log
ServerName sdutyl
DocumentRoot /var/boa/www
UserDir public_html
DirectoryIndex index.html
KeepAliveMax 1000
KeepAliveTimeout 10
MimeTypes /var/boa/mime.types
DefaultType text/plain
CGIPath /bin:/usr/bin:/usr/local/bin
Alias /doc /usr/doc
ScriptAlias /cgi-bin/ /var/boa/www/cgi-bin/

相關推薦

移植boa 伺服器arm開發筆記

(1)開發版:    TQ2440 , (2)編譯linux主機:  虛擬機器上的RHEL 5.4   (3)交叉 工具鏈:   是前段時間自己編譯出來的arm-sdutyl-linux-gnueabi-gcc (4)環境變數: [[email protec

移植madplay到arm開發

這篇文章寫的很全,沒什麼好改的了。 按照上面做肯定能成功的,但是要注意目錄的問題,記得自已的目錄別搞錯了。 <--! 強烈建議不要在虛擬機器掛接Windows共享目錄下進行編譯 --> 1.配置編譯環境     首先,將要使用的交叉編譯器設為預設交

移植wpa_supplicant2.5到arm開發

this func gnu error netlink eabi err erro arm-linux 編譯libnl1-1: ./configure --host=arm-linux --enable-static --prefix=/usr/local/ssl CC

將lrzsz工具移植ARM開發 ---只通過串列埠實現window和ARM之間檔案互傳

事情背景:由於需要在windows和ARM板之間只通過串列埠傳輸檔案(windows的檔案只通過串列埠傳輸到ARM板上) 這時超級終端SecureCRT+lrzsz工具可以完成這項使命!(其他終端軟體

lrzsz串列埠工具移植ARM開發

lrzsz是一個Unix通訊包,提供XMODEM、YMODEM和ZMODEM檔案傳輸協議。lrzsz以前是Omen科技的主打軟體,現在已經免費,並且遵循GNU開源協議。 lrzsz適合這樣一種開發環境,一塊板子,除了串列埠,沒有任何外部出入輸出裝置,沒有sd卡,沒有網線,這個時候如

移植Qt圖形介面應用程式到S3C2440 arm開發

1.進入qt已經寫好的一個圖形介面應用程式目錄裡,例如,我的應用程式目錄是在/home/czd/qt_project/mp3player/ $ cd /home/czd/qt_project/mp3player/ 發現裡面有個mp3player.pro檔案 我們在上面已配置

python和json 移植ARM開發

下載移植包:http://download.csdn.net/detail/lyh2529/72389411.將bin12.02.tar傳送到arm板上,並將其解壓到arm板上作業系統的bin目錄下,命令為:tar -xvf bin12.02.tar -C /2.將lib12.02.tar傳送到arm板上,並

ARM開發系統移植-----kernel的編譯

前面一篇文章介紹了開發板上系統軟體的第一部分--bootloader的編譯方法。   背景:把bootloader燒寫到開發板的Nand Flash中後,開發板從Nand啟動,硬體會自動將bootlo

arm開發的NTFS-3G完整移植+中文目錄支援+自動掛載(udev)

-NTFS-3G完整移植+中文支援+自動掛載1核心裁剪1.1進入核心原始碼目錄下:$make menuconfig Linux/arm 2.6.37 Kernel Configuration   File systems  --->                //N

ARM開發OK6410移植opencv-2.4.7庫qt介面顯示(附加各種問題解決方案)

轉載:http://blog.csdn.net/jiebaoabcabc/article/details/22935185          經過了昨天一天苦逼的研究opencv原始碼、arm-linux編譯器工作原理和堅持不懈的make,我終於移植成功了opencv-2

linux-arm筆記2:如何在ubuntu上安裝ftp,並且用ftp向arm開發上傳檔案

[email protected]:~$ ftp 192.168.1.109    //arm開發板ip Connected to 192.168.1.109. 220 FriendlyARM FTP server (Version 6.4/OpenBSD/Linux-ftpd-0.17) read

MiniGUI 移植到pc和arm開發全過程詳解 及錯誤解答

最近移植了 MiniGUI 1.3.3 到一個開發板上,中間遇到許多問題,在論壇上發問題,結果也沒多少人回我,就算偶爾有回的,基本上回答也沒有什麼用,網上找不到一個完整的移植文章,所以就決定把自己這次移植摸出來的一些方法寫出來,給像我一樣的小菜鳥做個參考吧。本文不教你怎麼寫驅

SQLITE+PYTHON成功移植ARM開發執行

下載原始碼: Sqlite 3.6.23.1 http://www.sqlite.org/sqlite-3.6.23.1.tar.gz Python 2.6.5 http://www.python.org/ftp/python/2.6.5/Python-2.6.5.tar.bz2 由於sqlite是pyth

openssl移植arm開發全過程

1.交叉編譯參考了:我的makefile修改完如下:#CC=gccCC=armv6zk-none-linux-gnueabi-gccCFLAG= -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS-D_REENTRANT -DDSO_DLFCN -DH

移植ubuntu core到Arm開發

最初是想把整個ubuntu移植到MX51開發板,因為專案不需要執行桌面系統,所以只移植了一個基本的ubuntu core系統  1. 下載ubuntu core rootfs,關於ubuntu core參考https://wiki.ubuntu.com/Core http:

將node.js移植arm開發

node.js版本  0.12.6   下載地址:https://nodejs.org/download/release/v0.12.6/   我用的版本是:node-v0.12.6.tar.gz a

ARM開發搭建NFS網絡文件系統方法

安裝 http ext 博客 主機 文件 oot ini first 前邊 已經提到過吧vmare的IP改成了靜態IP,對於上網來說,這個是個麻煩的事。現在重新配置Vmware的IP VMware-Edit-Virtual network editor 選擇PC機的無線網

產品研發ARM開發如何選擇?飛思卡爾I.MX6Q開發

pow 清分 工作 images logs 時鐘 網通 https 處理器 處理器:迅為-i.MX6開發板恩智浦Cortex-A9 四核i.MX6Q處理器,主頻1GHz,內存2G,存儲16GB。 系統支持:i.MX6開發板系統支持LINUX,Android,Ubuntu系統

嵌入式開發ARM開發-迅為4418開發接口基本介紹

4418開發板 接口介紹 迅為4418開發板無縫兼容6818平臺,是北京迅為電子有限公司研發設計的一款開發板平臺,核心板尺寸小,引出腳多,能夠幫助工程師們快速開發新產品。行業應用:iTOP-4418開發板/6818開發板可廣泛適用於工控、智能家居、醫療、多媒體、安防、車載、金融、消費電子、手持設備、顯

初試ARM開發

style min 學習 down win7 too 顯示 pan 成功 博主剛開始學習嵌入式開發,在老師指導下進行了led點亮的實驗。 一、準備工作 開發板型號:Friendly mini 2451 環境:win7+minitools 二、進入usb下載模式 使用 Min