智龍開發板搭建llsp環境
智龍開發板搭建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. 普適性包下載
理論上,編譯過後的包是可以在智龍開發板上通用的,我已將其打包上傳,供大家測試。
- SQLite3下載 下載
- PHP下載 下載
- Lighttpd下載 下載
6. 環境配置工作
好啦,環境都搭建完成了,相關配置自行百度吧!終於可以開開心心的在開發板上寫代碼了!
智龍開發板搭建llsp環境