操作環境:
編譯器:arm-2014.05編譯器
文件系統:使用的busybox移植Qt5.7的文件系統。
硬件平臺:IMX6ULL
本章用iTOP-IMX6ULL開發板搭建一個web服務器。需要用到boa,boa是一個小型的web服務器,可執行代碼只有約60KB,可以用于多種平臺,它是一個單任務web服務器,只能依次完成用戶的請求,在嵌入式中比較常見。boa的官方網站為www.boa.org,可以在上面下載最新版本的boa,這里使用的是boa-0.94.13.tar.gz。下載解壓后如圖1:
進入解壓后的boa-0.94.13文件夾,進入目錄src,運行./configure生成Makefile編譯文件,成功后如圖2:
修改Makefile,找到“CC = gcc”這一行,將這一行修改成“CC = arm-none-linux-gnueabi-gcc -static”,找到”CPP = gcc -E“這一行,修改成“CPP = arm-none-linux-gnueabi-gcc -E -static”,修改完成后如圖3:
完成后執行make編譯,過程中可能會報缺少依賴庫,百度查找即可解決,如果出現下面的錯誤要修改compat.h,如圖4所示:
解決辦法,使用vi命令打開當前目錄下的compat.h,然后找到“#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff”這一行,修改為如圖 5所示:
然后保存并退出compat.h,輸入make,繼續編譯boa,如圖6:
接下來使用arm-none-linux-gnueabi-strip boa命令為bos文件瘦身,如圖7:
通過上面的圖片看到boa文件比之前變小了,至此boa的編譯就完成了,下面需要把boa文件拷貝到文件系統里面。
拷貝編譯最終生成的boa到共享文件夾。
虛擬機Ubuntu的/etc目錄下的mime.types文件到共享文件夾。
boa-0.94.13目錄下面有個默認的boa.conf文件,把它也拷貝到共享文件夾。
在/etc/目錄下創建boa文件夾,將boa.conf拷貝到板子的etc/boa目錄下;
mime.types拷貝到開發板etc目錄下;
boa拷貝到開發板的bin目錄下
接下來在開發板根目錄下建立www文件夾,如圖12:
然后在開發板上面建立的www目錄下面建立文件夾cgi-bin目錄,如圖13:
然后在開發的etc目錄下用命令touch group命令建立group文件,如圖14:
然后進到開發板etc/boa目錄,使用vi boa.conf命令打開boa.conf文件,如圖15所示。
打開boa.conf文件,找到”Group nogroup”,修改為”Group 0”。
找到“ErrorLog ”和“AccessLog”這兩行,指定log文件的路徑,文件就會自動在此路徑創建,修改成如圖16:
然后找到“#ServerName www.your.org.here”這一行,修改為“ServerName www.your.org.here“如圖17所示:
然后找到“DocumentRoot /var/www”這一行,修改
為“DocumentRoot /www”(注意:這里的“/www”就是前面步驟使用mkdir創建的www目錄),如圖 18所示:
然后找到“ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/”這一行,修改為“ScriptAlias /cgi-bin/ /www/cgi-bin/”,如圖 19所示:
boa.conf修改結束。
進入到前面創建的 www 目錄,然后使用 vi index.html 命令建立 index.html 文件,在里面輸入下面的代碼:(注意:web 頁面不要包含漢字)
然后保存并退出 index.html,至此基于 boa 的 web 服務器就搭建完成了,上面創建的index.html 是一個簡單的網頁,用于測試,F在啟動開發板,開發板起來以后直接
輸入 ps - e | grep “boa” 命令,可以看到 boa 程序在運行,如圖21:
在Ubuntu的瀏覽器輸入開發板的IP地址可以看到我們放入的index.html網頁:
到此boa服務器移植成功。
迅為i.MX6ULL終結者開發板使用手冊內容提綱:
歡迎光臨 電子工程網 (http://m.qingdxww.cn/) | Powered by Discuz! X3.4 |