RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Tiny4412下CURL安裝與使用

嵌入式技術(shù) ? 來源:嵌入式技術(shù) ? 作者:嵌入式技術(shù) ? 2023-05-31 17:20 ? 次閱讀

CURL是一個利用URL語法在命令行下工作的文件傳輸工具,1997年首次發(fā)行。它支持文件上傳和下載,所以是綜合傳輸工具,但按傳統(tǒng),習(xí)慣稱CURL為下載工具。CURL還包含了用于程序開發(fā)的libcurl。

移植環(huán)境:

Linux版本:Linux3.5

編譯器:arm-linux-gcc

開發(fā)板環(huán)境:tiny4412-Cortex-A9

CURL版本:7.8.0

1.編譯與安裝 libopenssl 庫

要移植CURL庫,首先則需要移植libopenssl 庫。

OpenSSL 是一個安全套接字層密碼庫, 囊括主要的密碼算法、 常用的密鑰和證書封裝管理功能及 SSL 協(xié)議, 并提供豐富的應(yīng)用程序供測試或其它目 的使用。

OpenSSL 被曝出現(xiàn)嚴(yán)重安全漏洞后, 發(fā)現(xiàn)多數(shù)通過 SSL 協(xié)議加密的網(wǎng)站使用名為OpenSSL 的開源軟件包。 OpenSSL 漏洞不僅影響以 https 開頭的網(wǎng)站, 黑客還可利用此漏洞直接對個人電腦發(fā)起“心臟出血”( Heartbleed) 攻擊。 據(jù)分析, Windows 上有大量軟件使用了存在漏洞的 OpenSSL 代碼庫, 可能被黑客攻擊抓取用戶電腦上的內(nèi)存數(shù)據(jù)。
下載鏈接: http://distfiles.macports.org/openssl/

poYBAGR3DRqAUZkBAAWEeFlQkf0052.png

(1) 將下載的 openssl-1.0.2e.tar.gz 壓縮包拷貝至虛擬機(jī)解壓。

[wbyq@wbyq src_pack]$ tar xvf /mnt/hgfs/ubuntu/software_pack/openssl-1.0.2s.tar.gz

(2) 配置編譯安裝路徑

[wbyq@wbyq openssl-1.0.2s]$ ./config shared no-asm --prefix=$PWD/tmp
--prefix=$PWD/tmp 表示編譯安裝的路徑為當(dāng)前目 錄下的 tmp

(3) 修改頂層 Makefile 文件

[wbyq@wbyq openssl-1.0.2s]$ gedit Makefile +62
CC= arm-linux-gcc
AR= arm-linux-ar $(ARFLAGS) r
RANLIB= arm-linux-ranlib
RC= windres
NM= arm-linux-nm
PERL= /usr/bin/perl
TAR= tar
TARFLAGS= --no-recursion
MAKEDEPPROG= arm-linux-gcc
LIBDIR=lib
poYBAGR3DxWAfZ7YAAOWK7nl9Wg674.png

(4)編譯 make

[wbyq@wbyq openssl-1.0.2s]$ make
making all in crypto...
make[1]: 進(jìn)入目 錄“ /home/wbyq/src_pack/openssl-1.0.2s/crypto”
/usr/bin/perl ../util/mkbuildinf.pl "arm-linux-gcc -I. -I.. -I../include -fPIC -DOPENSSL_PIC
-DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -O3
-Wall" "linux-x86_64" >buildinf.h
arm-linux-gcc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT
-DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -O3 -Wall -c -o cversion.o cversion.c
cc1: error: unrecognized command line option "-m64"
: recipe for target 'cversion.o' failed
make[1]: *** [cversion.o] Error 1
make[1]: 離開目 錄“ /home/wbyq/src_pack/openssl-1.0.2s/crypto”
Makefile:287: recipe for target 'build_crypto' failed
make: *** [build_crypto] Error 1

編譯報錯解決:

poYBAGR3D3OAeBniAAQSp_151D0283.png
[wbyq@wbyq openssl-1.0.2s]$ gedit Makefile
pYYBAGR3D5CAHwsaAAPlSkUnr34367.pngpYYBAGR3D6GAc3XpAALrzGJIJDY983.png

(5)重新編譯與安裝 make && make install

[wbyq@wbyq openssl-1.0.2s]$ make && make install

(6) 編譯生成文件

[wbyq@wbyq openssl-1.0.2s]$ cd tmp/
[wbyq@wbyq tmp]$ ls
bin include lib ssl

(7)拷貝 lib 下的 so 文件到開發(fā)板 lib 目 錄下

[wbyq@wbyq tmp]$ cp ./lib/*.so* /home/wbyq/src_pack/rootfs/lib/ -rfdv

2.安裝 curl 工具

下載地址: https://curl.se/

pYYBAGR3ECOAH6DzAAbQwhKrUkw627.pngpoYBAGR3EDCAI4CyAAQzWzAUjWk368.png

(1) 將下載的 curl-7.80.0.tar.gz 壓縮包拷貝至虛擬機(jī)解壓

[wbyq@wbyq src_pack]$ tar xvf /mnt/hgfs/ubuntu/software_pack/curl-7.80.0.tar.gz

(2) 配置編譯安裝路徑

[wbyq@wbyq curl-7.80.0]$ CPPFLAGS="-I/home/wbyq/src_pack/openssl-1.0.2s/tmp/
-I/home/wbyq/src_pack/openssl-1.0.2s/tmp/include"
LDFLAGS="-L/home/wbyq/src_pack/openssl-1.0.2s/tmp/lib" LIBS="-ldl" ./configure
--host=arm-linux-gcc CC=arm-linux-gcc CXX=arm-linux-g++ --with-ssl --enable-shared
--enable-static --disable-dict --disable-ftp --disable-imap --disable-ldap --disable-ldaps
--disable-pop3 --disable-proxy --disable-rtsp --disable-smtp --disable-telnet --disable-tftp
--disable-zlib --without-ca-bundle --without-gnutls --without-libidn --without-librtmp
--without-libssh2 --without-nss --without-zlib --prefix=$PWD/_install

指定 openssl-1.0.2s 頭文件路徑:
CPPFLAGS="-I/home/wbyq/src_pack/openssl-1.0.2s/tmp/ -I/home/wbyq/src_pack/openssl-1.0.2s/tmp/include"
指定 openssl-1.0.2s 庫路徑:
LDFLAGS="-L/home/wbyq/src_pack/openssl-1.0.2s/tmp/lib"

(3)編譯與安裝

[wbyq@wbyq curl-7.80.0]$ make && make install

(4)拷貝相關(guān)文件到開發(fā)板目錄下

[wbyq@wbyq curl-7.80.0]$ cd _install/
[wbyq@wbyq _install]$ ls
bin include lib share
[wbyq@wbyq _install]$ cp ./bin/curl /home/wbyq/src_pack/rootfs/bin/
[wbyq@wbyq _install]$ cp lib/*.so* /home/wbyq/src_pack/rootfs/lib -rfdv

(5)開發(fā)板下測試 curl 命令

[root@wbyq mt7601u]# curl api.seniverse.com/v3/weather/now.json?key=SwD4-ybQxhe
dD1z7U'&'location=nanchang'&'language=zh-Hans'&'unit=c
{"results":[{"location":{"id":"WT47HJP3HEMP","name":" 南 昌 ","country":"CN","path":" 南 昌 , 南
昌 , 江 西 , 中 國 ","timezone":"Asia/Shanghai","timezone_offset":"+08:00"},"now":{"text":" 多 云
","code":"4","temperature":"10"},"last_update":"2021-11-22T09:11:57+08:00"}]}
[root@wbyq
mt7601u]


審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Curl
    +關(guān)注

    關(guān)注

    0

    文章

    15

    瀏覽量

    8175
  • OpenSSL
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    8675
收藏 人收藏

    評論

    相關(guān)推薦

    【代碼】tiny4412裸機(jī)Demo

    ` 本帖最后由 zsm_linux 于 2014-8-15 10:31 編輯 我想肯定很多人需要,下載自CSDN, 為數(shù)不多的4412資料資料包含: 需要資料聯(lián)系QQ 1402284892`
    發(fā)表于 08-15 10:05

    免費(fèi)試用“Tiny4412開發(fā)板——友善之臂Cortex-A9”

    本帖最后由 L490351555 于 2015-8-19 08:38 編輯 大家好,這兩天咱們的論壇搞了一個開發(fā)板投票試用活動?,F(xiàn)在有一個投票項(xiàng)就是“Tiny4412開發(fā)板——友善之臂
    發(fā)表于 08-18 19:09

    500w像素CMOS高清攝像頭模塊,支持NanoPi2,Tiny4412

    =a230r.1.14.318.LGJVqB&id=525273480932&ns=1&abbucket=15#detail500w像素CMOS高清攝像頭模塊,支持NanoPi2,Tiny4412
    發(fā)表于 12-18 18:18

    【Nanopi2試用體驗(yàn)】Matrix的安裝與嘗試

    。nanopi分支用于支持NanoPi;nanopi2分支用于支持NanoPi 2;tiny4412分支用于支持Tiny4412;raspberrypi分支用于支持RaspberryPi
    發(fā)表于 12-30 17:00

    友善之臂Ubuntu使用手冊

    友善之臂Ubuntu使用手冊本手冊介紹如何在友善之臂開發(fā)板 Tiny4412 以及 NanoPC-T1 上安裝和使用 Ubuntu 系統(tǒng)。
    發(fā)表于 12-18 10:42

    4412燒Android時不能啟動,停在ANDROID界面

    我也大家玩高大上的4412了,跟著最新光盤提供的"tiny4412用戶燒寫"手冊,刷ANDROID時,燒寫可以成功,但就是啟動不了,一直停在ANDROID圖標(biāo)界面。串口也一直打印
    發(fā)表于 05-13 07:45

    請問在4412的USB驅(qū)動程序里該如何修改?

    tiny4412遇到一個問題,4412作為USB設(shè)備與作為主機(jī)的PC連接,物理連接是USB線,在4412上需要把USB上的特殊數(shù)據(jù)解析出來,當(dāng)做并口數(shù)據(jù)處理。請問在4412的USB驅(qū)
    發(fā)表于 05-17 00:12

    Tiny4412-Uboot啟動后無法加載uImage

    好吧。。在這里先祈求,有哪位大大,或者老師,能關(guān)注。個人一度試圖移植tiny4412的uboot和kernel還有根文件系統(tǒng)。。。。。然后順帶學(xué)習(xí)一設(shè)備樹的用法這個是uboot配置ls/dev
    發(fā)表于 08-30 05:45

    TINY4412 UART程序設(shè)計得相關(guān)資料分享

    嵌入式實(shí)驗(yàn): TINY4412 UART 程序設(shè)計一、實(shí)驗(yàn)?zāi)康氖煜ART通信相關(guān)的寄存器的功能和設(shè)置方法,設(shè)置引腳復(fù)用,選擇UART接收和發(fā)送對應(yīng)的引腳用于UART通信,數(shù)據(jù)流格式設(shè)置,設(shè)置
    發(fā)表于 11-09 06:11

    如何實(shí)現(xiàn)Tiny4412通過NRF24L01 2.4G無線模塊發(fā)送數(shù)據(jù)呢

    LinuxSPI設(shè)備驅(qū)動該怎樣去編寫呢?如何實(shí)現(xiàn)Tiny4412通過NRF24L01 2.4G無線模塊發(fā)送數(shù)據(jù)呢?
    發(fā)表于 12-17 06:36

    iny4412嵌入式Linux操作系統(tǒng)啟動流程是怎樣的

    本次介紹一友善之臂tiny4412嵌入式Linux操作系統(tǒng)分析首先,可以從官方提供的用戶手冊中得到這樣一張圖,它簡單表達(dá)了裸機(jī)燒寫啟動系統(tǒng)的流程,不過這張圖中缺少對BL2的描述,所以我就自己手繪了
    發(fā)表于 12-20 07:50

    友善之臂Tiny4412核心板介紹

    Tiny4412是一款高性能的四核Cortex-A9核心板,由廣州友善之臂設(shè)計、生產(chǎn)和發(fā)行銷售。
    的頭像 發(fā)表于 11-05 17:40 ?1.2w次閱讀
    友善之臂<b class='flag-5'>Tiny4412</b>核心板介紹

    嵌入式實(shí)驗(yàn): TINY4412 UART 程序設(shè)計

    嵌入式實(shí)驗(yàn): TINY4412 UART 程序設(shè)計一、實(shí)驗(yàn)?zāi)康氖煜ART通信相關(guān)的寄存器的功能和設(shè)置方法,設(shè)置引腳復(fù)用,選擇UART接收和發(fā)送對應(yīng)的引腳用于UART通信,數(shù)據(jù)流格式設(shè)置,設(shè)置
    發(fā)表于 11-03 20:06 ?13次下載
    嵌入式實(shí)驗(yàn): <b class='flag-5'>TINY4412</b> UART 程序設(shè)計

    (exynos4412)Tiny4412裸機(jī)開發(fā)-點(diǎn)亮LED

    這篇文章介紹利用這款開發(fā)板完成裸機(jī)開發(fā),不涉及操作系統(tǒng),直接當(dāng)做單片機(jī)一樣,完成LED燈、蜂鳴器的編程,了解這款芯片與常規(guī)的Cortex-M系列芯片編程有何區(qū)別。
    的頭像 發(fā)表于 08-12 09:18 ?4277次閱讀

    Linux系統(tǒng)如何安裝curl

    `curl`是用于在本地計算機(jī)與遠(yuǎn)程服務(wù)器之間傳輸數(shù)據(jù)的命令行工具。使用curl時您可以使用HTTP,HTTPS, SCP , SFTP和FTP等協(xié)議下載或上傳數(shù)據(jù)。
    的頭像 發(fā)表于 12-06 16:53 ?1.7w次閱讀
    RM新时代网站-首页