移植appweb-3.3.2

2019-07-12 23:45发布

嵌入式移植步骤: 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 开机重启。