1. 程式人生 > >智龍開發板搭建llsp環境

智龍開發板搭建llsp環境

all 編譯 ipv 編譯zlib 技術 body 生成文件 上傳 tex

智龍開發板搭建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

技術分享圖片

直接按字母可對選項進行操作,按下字母A,修改 Serial Device 的值為開發板的設備名,按下F,G,將軟流控(Software Flow Control)和硬流控(Hardware Flow Control)設為No。配置如下:

技術分享圖片

配置完後,選擇 Save setup as dfl 保存配置為默認。再Exit退出。

技術分享圖片
技術分享圖片

  1. 利用minicom進入開發板系統,操作開發板

在選擇Exit退出後,會來到此界面,按下 ctrl+c 即可進入開發板的系統。

技術分享圖片
技術分享圖片

  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
技術分享圖片

表示上傳當前目錄下的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. 環境配置工作

好啦,環境都搭建完成了,相關配置自行百度吧!終於可以開開心心的在開發板上寫代碼了!

智龍開發板搭建llsp環境