移植appweb-3.3.2

嵌入式移植步骤:

1.下载压缩包

2.修改编译环境的环境变量

3.解压压缩包

4.配置

5.编译

6.安装(以上六步都在宿主机上完成)

7.将宿主机上交叉编译好的目标文件放置到目标机相应的文件下(该步在目标机上完成)

 

 

一.修改环境变量:

在终端输入以下命令:

Export CC=arm-linux-gccExport AR=arm-linux-arExport LD=arm-linux-ld

Export NM=arm-linux-nmExport STRIP=arm-linux-strip

Export RANLIB=arm-linux-ranlib

1.arm-linux-as:编译ARM汇编程序。

2.arm-linux-ar:把多个.o文件合并成一个.o文件或静态库文件(.a文件)。

3.arm-linux-ranlib:为库文件建立索引,相当于arm-linx-ar -s

4.arm-linux-ld:连接器(Linker),把多个.o文件或库文件连接成一个可执行文件。

5.arm-linux-objcopy:转换可执行文件的格式。

6.arm-linux-strip:去掉elf可执行文件的信息。

7.arm-linux-gcc:编译.c.s头的C文件或汇编程序。

8.arm-linux-nm:列出目标文件的符号清单。

二.解压源码包

     tar -xvzf  appweb-3.3.2-0-src.tgz/home/appweb/  解压后的文件appweb-3.3.2

三.配置

cd  /home/appweb/ appweb-3.3.2

  ./configure  --host=arm-linux  --build=i686-pc-linux  --port=80 --type=RELEASE --disable-log

 --enable-multi-thread --disable-samples --disable-test --disable-access-log --with-cgi=builtin  --with-esp=builtin --with-upload=builtin  --webDir=/sdcard/www/data/

以上配置信息,具体视需求而定:

 (1如果只需要静态文件则可加入--disable-shared --enable-static,编译后生成的服务程序较大,只生成有静态库,没有模块

(2)也可加入选项--prefix=……与 --webDir=……,用于指定make install时目标文件与默认网站的存放位置,prefix默认值为/usr/lib/webDir默认值为/var/www/appweb-default

四.编译

 Configure成功后直接终端输入make,会在源文件夹appweb-3.3.2中的binlibmodules中生成arm-unknow-linux文件夹,这些arm-unknow-linux中内容为所需求。

五.安装

root权限执行make install,会生成/etc/appweb配置文件夹、/etc/init.d/appweb脚本文件,具cd体文件可参考/usr/lib/appweb/fileList.txt

到此在宿主机上交叉编译嵌入式应用程序的部分全部完成。

六.拷贝目标文件到目标机上

1)移植配置文件及脚本(我提前将目标文件都放在appweb文件下,并将他拷贝到sd

进入嵌入式文件系统中,root权限执行

cp /sdcard/appweb /appweb      /etc/ 

cp /sdcard/appweb /init.d/appweb   /etc/ init.d/

打开/etc/appweb中的配置文件appweb.conf,找到并修改

Listen 80

DocumentRoot "/sdcard/www /data"

DirectoryIndex index.asp

LoadModulePath "/usr/lib/appweb/modules"

以上信息与编译时的配置信息相关,基本不用修改,DirectoryIndex为默认起始页。

打开脚本/etc/init.d/appweb,找到并修改

APPWEB_BIN=/usr/lib/appweb/bin

2)移植服务程序及库

/usr/lib/下创建appweb文件夹及其子文件夹binlibmodules

mkdir  /usr/lib/appweb

mkdir  /usr/lib/appweb/lib

mkdir  /usr/lib/appweb/bin

mkdir  /usr/lib/appweb/modules

 

 

 

到sdcard中将appweb/bin/arm-unkonw-linux中的内容复制到/usr/lib/appweb/bin/

将appweb/lib/arm-unkonw-linux中的内容复制到/usr/lib/appweb/lib/

将appweb/modules/arm-unkonw-linux中的内容复制到/usr/lib/appweb/modules/

 

cp  -rf /sdcard/appweb/bin/arm-unkonw-linux/*   /usr/lib/appweb/bin/

cp  -rf /sdcard/appweb/lib/arm-unkonw-linux/*   /usr/lib/appweb/lib/

cp  -rf /sdcard/appweb/modules/arm-unkonw-linux/*   /usr/lib/appweb/modules/

 

/usr/ sbin/中建立链接,指向/usr/lib/appweb/bin/中的可执行文件

执行ln -s /usr/lib/appweb/bin/ajs   ajs

    ln -s /usr/lib/appweb/bin/ajsc   ajsc

    ln -s /usr/lib/appweb/bin/angel  angel

ln -s /usr/lib/appweb/bin/appweb  appweb

    ln -s /usr/lib/appweb/bin/cgiProgram  cgiProgram

 

修改嵌入式系统开机启动文件,加入/etc/rc.d/appweb start

开机重启。

 

 

你可能感兴趣的:(嵌入式,移植)