智龙开发板搭建llsp环境

智龙开发板搭建llsp(linux+lighttpd+sqlite3+php)环境

1. 准备

  1. 智龙开发板V3

  2. 软件编译环境:VirtualBox6+CentOS6.10-i386.minimal

  3. 交叉编译器: gcc-4.3-ls232.tar.gz

  4. 串口交互环境:Fedora29 minicom

  5. 文件传输工具:tftp

配置 参数
CPU 龙芯1C300B
内存 32M内存
NandFlash 128M

2. 串口连接开发板

操作机器为Fedora29,自带usb转串口硬件调试工具 minicom ,若没有安装,可以使用 sudo dnf install minicom 进行安装。

操作步骤

  1. 按照说明书,连接好TTL三针接口,将USB端插入电脑

从左到右 白-绿-黑 线,插入开发板电源口对面的只有三个针头的接口上。

连线

  1. 操作机器上确定设备名

USB插入电脑后,我们需要确定开发板的设备名称,好对这个设备进行操作

在终端下输入 ll /dev/tty* 用以查看所有终端设备,可知 ttyUSB0为我们的开发板设备名

开发板设备名

  1. 操作机器上输入 sudo minicom -s 配置minicom

得知设备名后,我们需要配置minicom,配置过程如下

输入 sudo minicom -s 进入minicom配置下,选择第三项 Serial port setup

配置minicom

直接按字母可对选项进行操作,按下字母A,修改 Serial Device 的值为开发板的设备名,按下F,G,将软流控(Software Flow Control)和硬流控(Hardware Flow Control)设为No。配置如下:

配置minicom

配置完后,选择 Save setup as dfl 保存配置为默认。再Exit退出。

保存配置
退出

  1. 利用minicom进入开发板系统,操作开发板

在选择Exit退出后,会来到此界面,按下 ctrl+c 即可进入开发板的系统。

进入minicom
进入开发板

  1. 连接网线,指定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的 看这里

操作步骤

  1. 配置GCC环境变量

我们的CentOS主机IP地址为 192.168.0.104,在我们的本机上使用scp命令来上传我们下载下来的GCC文件。

scp gcc-4.3-ls232.tar.gz [email protected]:/root
上传文件到centos

表示上传当前目录下的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 出现如下提示则配置成功

输出版本

  1. 安装tftp服务

tftp服务用于将编译好的软件发送给开发板。安装后需要关闭防火墙,或者放行tftp服务端口69,否则会导致文件无法传送。tftp配置教程

安装tftp-server服务

yum install tftp-server

关闭防火墙

/etc/init.d/iptables stop
setenforce permissive

启动服务

/etc/init.d/xinetd start

3. 编译软件

在整个过程中,我们需要用到的包清单如下

  1. sqlite-autoconf-3260000 下载sqlite3
  2. Lighttpd1.4.53 下载lighttpd
  3. PHP5.6.40 下载PHP

编译php过程中需要的依赖包

  1. zlib
  2. libxml2

编译SQLite3

解压sqlite-autoconf-3260000.tar.gz(到发表该文截至的最新版本),并进入文件夹后执行

  1. ./configure --host=mipsel-linux --prefix=/usr/local/sqlite3

  2. make && make install

ps --host 指定软件运行环境 --prefix指定源码交叉编译后生成文件的路径. 可以参考这篇文章

编译Lighttpd

解压lighttpd-1.4.53.tar.gz(到发表该文截至的最新版本),进入文件夹后执行

  1. CC=mipsel-linux-gcc AR=mipsel-linux-ar LD=mipsel-linux-ld RANLIB=mipsel-linux-ranlib STRIP=mipsel-linux-strip

  2. ./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

  3. make && make install

ps 可以参考这篇文章

编译PHP

zlib编译可有可无,若要用到zlib,首先编译zlib包(你可以不执行这个步骤,只需要在编译php的时候指定 --without-zlib即可)

  1. CC=mipsel-linux-gcc

  2. ./configure --shared --prefix=/usr/local/zlib

  3. make && make install

编译PHP之前,你必须编译libxml2

  1. CC=mipsel-linux-gcc

  2. ./configure --host=mipsel-linux --prefix=/usr/local/libxml2

  3. make && make install

开始编译PHP

  1. CC=mipsel-linux-gcc

  2. ./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

  3. 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. 普适性包下载

理论上,编译过后的包是可以在智龙开发板上通用的,我已将其打包上传,供大家测试。

  1. SQLite3下载 下载
  2. PHP下载 下载
  3. Lighttpd下载 下载

6. 环境配置工作

好啦,环境都搭建完成了,相关配置自行百度吧!终于可以开开心心的在开发板上写代码了!

猜你喜欢

转载自www.cnblogs.com/xuthus/p/10343046.html