因爲用的板子是ZLG的imx280a,所以我安裝的Ubuntu直接用他們給的了。
系統環境:VM-Ubuntu-12.04-64bit-zlg(這個無所謂,我直接用的ZLG官方給的鏡像安裝的)
libcurl的安裝包:curl-7.55.1.tar(這是我做的時候出的最新版本,最新版本去官網下載:戳我!打開鏈接)
交叉編譯環境:arm-none-linux-gnueabi- 這裏要注意你得安裝了交叉編譯工具鏈,以我的爲例,我的交叉編譯鏈都在/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/目錄下。
好了,進入正題。
1.1、直接貼出代碼:
vmuser@Linux-host:~$ tar -zxvf curl-7.55.1.tar.gz
vmuser@Linux-host:~$ cd curl-7.55.1/
vmuser@Linux-host:~$./configure --prefix=/home/vmuser/libcurl --host=arm-none-linux CC=arm-none-linux-gnueabi-gcc CXX=arm-none-linux-gnueabi-g++(注意綠色部分是你想把生成的文件存放的位置)
vmuser@Linux-host:~$ make
vmuser@Linux-host:~$ make install(注意在這一過程中可能會出現一些錯誤的提示語句,我們先跳過去,執行到最後)
1.2、我們在/home/vmuser目錄下可以看到生成的libcurl文件夾。進去查看文件夾下的內容,可以看到四個文件夾。
1.3、進入lib目錄,我們要保證有以下幾個文件就可以了。
然後我們把libcurl整個文件夾拷貝到板子上。這裏我用的是U盤拷貝。
2.1、拷貝文件到/lib目錄。
給開發板上電,登錄後將U盤上的文件拷貝到板子文件系統根目錄下/usr/lib或者/lib裏都可以。這裏我拷貝到了/lib目錄下。
root@EasyARM-iMX28x ~# cp -R /media/usb-sda1/libcurl/. /lib(綠色部分是我的U盤的目錄)
此時在/lib下可以看到bin、include、lib、share四個文件。
拓展一下: root@EasyARM-iMX28x ~# cp -R /media/usb-sda1/libcurl/ /lib
用上邊的命令在/lib下只有libcurl一個文件夾。這是cp -R /. 和cp -R / 的區別。
2.2、修改環境變量。
這裏我修改了/etc/profile文件,目的是使修改對所有用戶生效,不用每次都修改了。
root@EasyARM-iMX28x /etc# vi profile
PATH=/iptables/bin:/iptables/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/lib/bin
test_value=`/bin/cat /sys/devices/platform/zlg-systemType/board_name`
if [ $test_value = "287B" ]
then
echo "this board is EasyARM-iMX287B"
export HOSTNAME="EasyARM-iMX287B"
fi
我們在第二行的PATH語句末尾添加“:/lib/bin”就可以了,然後保存退出。輸入sync語句同步文件,然後重啓即可。
root@EasyARM-iMX28x /# sync
root@EasyARM-iMX28x /# reboot
重啓後在開發板裏輸入curl指令,如果跟下面的提示一致,恭喜你成功了。
root@EasyARM-iMX28x ~# curl
curl: try 'curl --help' or 'curl --manual' for more information
不過我第一次並沒有成功,提示信息如下:
root@EasyARM-iMX28x ~# curl
curl: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory
提示缺少libcurl.so.4,怎麼辦?還記得我們拷貝到/lib目錄下有一個lib的文件夾,裏邊有這個libcurl.so.4
root@EasyARM-iMX28x /lib/lib# ls
libcurl.a libcurl.so libcurl.so.4.4.0
libcurl.la libcurl.so.4 pkgconfig
於是把libcurl.so.4這個文件拷貝到/lib下即可。
root@EasyARM-iMX28x /lib/lib# cp libcurl.so.4 /lib/
root@EasyARM-iMX28x /lib/lib# curl
curl: try 'curl --help' or 'curl --manual' for more information
可以看到我們成功安裝curl。
由於開發板的文件系統都不一樣,所以安裝過程中還有可能出現下面的提示:
root@EasyARM-iMX28x ~# curl
curl:error while loading shared libraries:libssl.so.1.0.0: cannot open shared object file: No such file or directory
由於我的開發板在/lib目錄下有libssl.so.1.0.0這個文件,所以具體怎麼做我也沒有細看。不過可以參考另一個博客,博客地址:http://blog.csdn.net/miaodichiyou/article/details/50385049
下邊列出我感覺還比較有用的關於ARM移植方面的博客地址(轉載請註明地址)
1.http://blog.csdn.net/miaodichiyou/article/details/51451134
2.http://blog.csdn.net/makenothing/article/details/39250491
3.http://blog.csdn.net/lifan5/article/details/7350154
4.http://blog.csdn.net/qianghaohao/article/details/51684862
最後,我把我下載的libcurl的安裝包curl-7.55.1.tar和生成的libcurl文件分享出來,注意這個libcurl文件只適用於ZLG的imx28系列,其他板子不好使。有用ZLG的imx28系列板子的小夥伴可以下載。
鏈接:https://pan.baidu.com/s/1jJPsdwy 密碼:r8l7