智龙开发板搭建llsp(linux+lighttpd+sqlite3+php)环境
1. 准备
- 智龙开发板V3
- 软件编译环境:VirtualBox6+CentOS6.10-i386.minimal
- 交叉编译器: gcc-4.3-ls232.tar.gz
- 串口交互环境:Fedora29 minicom
- 文件传输工具:tftp
配置 | 参数 |
---|---|
CPU | 龙芯1C300B |
内存 | 32M内存 |
NandFlash | 128M |
2. 串口连接开发板
操作机器为Fedora29,自带usb转串口硬件调试工具 minicom ,若没有安装,可以使用
sudo dnf install minicom
进行安装。
操作步骤
- 按照说明书,连接好TTL三针接口,将USB端插入电脑
从左到右 白-绿-黑 线,插入开发板电源口对面的只有三个针头的接口上。
- 操作机器上确定设备名
USB插入电脑后,我们需要确定开发板的设备名称,好对这个设备进行操作
在终端下输入 ll /dev/tty*
用以查看所有终端设备,可知 ttyUSB0为我们的开发板设备名
- 操作机器上输入
sudo minicom -s
配置minicom
得知设备名后,我们需要配置minicom,配置过程如下
输入 sudo minicom -s
进入minicom配置下,选择第三项 Serial port setup
直接按字母可对选项进行操作,按下字母A,修改 Serial Device 的值为开发板的设备名,按下F,G,将软流控(Software Flow Control)和硬流控(Hardware Flow Control)设为No。配置如下:
配置完后,选择 Save setup as dfl 保存配置为默认。再Exit退出。
- 利用minicom进入开发板系统,操作开发板
在选择Exit退出后,会来到此界面,按下 ctrl+c 即可进入开发板的系统。
- 连接网线,指定IP地址
在连接好网线后,使用如下命令,手动指定网络IP地址,否则无法上网。
ifconfig eth0 IP
譬如我所在的网络段是 192.168.0.X,我可以为我的开发板指定IP地址为 192.168.0.111.只要IP地址不冲突就行。
ifconfig eth0 192.168.0.111
2. 配置编译环境
下载孙冬梅老师提供的gcc编译器,点击下载。下载后,将其上传CentOS服务器,并配置环境变量。
PS: 不会安装CentOS6的 看这里
操作步骤
- 配置GCC环境变量
我们的CentOS主机IP地址为 192.168.0.104,在我们的本机上使用scp命令来上传我们下载下来的GCC文件。
scp gcc-4.3-ls232.tar.gz [email protected]:/root
表示上传当前目录下的gcc-4.3-ls232.tar.gz 文件到远端的192.168.0.104机器上,使用的是远端的root用户的权限来上传,上传的位置是远端的/root目录下。
在服务端,将我们上传的文件解压缩,到/usr/local 下
tar zvxf gcc-4.3-ls232.tar.gz -C /usr/local
配置环境变量 .bashrc 文件
vi ~/.bashrc
在文件末尾添加上
export PATH=$PATH:/usr/local/gcc-4.3-ls232/bin
使用 source 命令,让配置生效
source ~/.bashrc
在终端下输入 mipsel-linux-gcc -v 出现如下提示则配置成功
- 安装tftp服务
tftp服务用于将编译好的软件发送给开发板。安装后需要关闭防火墙,或者放行tftp服务端口69,否则会导致文件无法传送。tftp配置教程
安装tftp-server服务
yum install tftp-server
关闭防火墙
/etc/init.d/iptables stop
setenforce permissive
启动服务
/etc/init.d/xinetd start
3. 编译软件
在整个过程中,我们需要用到的包清单如下
- sqlite-autoconf-3260000 下载sqlite3
- Lighttpd1.4.53 下载lighttpd
- PHP5.6.40 下载PHP
编译php过程中需要的依赖包
- zlib
- libxml2
编译SQLite3
解压sqlite-autoconf-3260000.tar.gz(到发表该文截至的最新版本),并进入文件夹后执行
./configure --host=mipsel-linux --prefix=/usr/local/sqlite3
make && make install
ps --host 指定软件运行环境 --prefix指定源码交叉编译后生成文件的路径. 可以参考这篇文章
编译Lighttpd
解压lighttpd-1.4.53.tar.gz(到发表该文截至的最新版本),进入文件夹后执行
CC=mipsel-linux-gcc AR=mipsel-linux-ar LD=mipsel-linux-ld RANLIB=mipsel-linux-ranlib STRIP=mipsel-linux-strip
./configure --prefix=/usr/local/lighttpd --host=mipsel-linux --build=i686-pc-linux --disable-FEATURE --enable-shared --disable-static --disable-lfs --disable-ipv6 --without-PACKAGE --without-valgrind --without-openssl --without-kerberos5 --without-pcre --without-zlib --without-bzip2 --without-lua
make && make install
ps 可以参考这篇文章
编译PHP
zlib编译可有可无,若要用到zlib,首先编译zlib包(你可以不执行这个步骤,只需要在编译php的时候指定 --without-zlib即可)
CC=mipsel-linux-gcc
./configure --shared --prefix=/usr/local/zlib
make && make install
编译PHP之前,你必须编译libxml2
CC=mipsel-linux-gcc
./configure --host=mipsel-linux --prefix=/usr/local/libxml2
make && make install
开始编译PHP
CC=mipsel-linux-gcc
./configure --host=mipsel-linux --prefix=/usr/local/php --disable-all --enable-pdo --with-sqlite=/usr/local/sqlite3 --with-pdo-sqlite --without-iconv --with-zlib-dir=/usr/local/zlib --with-libxml-dir=/usr/local/libxml2
make && make install
ps 若报错,你需要将 --with-zlib 改为 --without-zlib。文件过大时,使用 mipsel-linux-strip binary-file-name
精简命令 .详见博客
4. 上传至开发板
在开启了tftp-server后,确保服务端的防火墙关闭。执行如下命令,即可从tftp-server指定的目录下,下载指定的文件
在开发板中,使用如下命令,获取文件
tftp -g -r filename tftp-server的IP地址
譬如从tftp服务端获取旗下的php.tar.gz文件,服务端的ip为192.168.0.104
tftp -g -r php.tar.gz 192.168.0.104
5. 普适性包下载
理论上,编译过后的包是可以在智龙开发板上通用的,我已将其打包上传,供大家测试。
6. 环境配置工作
好啦,环境都搭建完成了,相关配置自行百度吧!终于可以开开心心的在开发板上写代码了!
原文地址:https://www.cnblogs.com/xuthus/p/10343046.html