openssl移植的arm開發板全過程
1.交叉編譯
參考了:
我的makefile修改完如下:
#CC=gcc
CC=armv6zk-none-linux-gnueabi-gcc
CFLAG= -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS-D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3-fomit-frame-pointer -Wall
DEPFLAG= -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_CAPIENG-DOPENSSL_NO_CMS -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MDC2-DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SEED
PEX_LIBS=
EX_LIBS= -ldl
EXE_EXT=
ARFLAGS=
#AR=ar$(ARFLAGS) r
AR=armv6zk-none-linux-gnueabi-ar$(ARFLAGS) r
#ARD=ar$(ARFLAGS) d
ARD=armv6zk-none-linux-gnueabi-ar$(ARFLAGS) d
#RANLIB=/usr/bin/ranlib
RANLIB=armv6zk-none-linux-gnueabi-ranlib
編譯命令:
./configno-asm shared --prefix=/usr/local/openssl
no-asm表示不編譯部分彙編程式碼
--prefix=/home/stb/md5表示把編譯後的庫,配置工具等放到此目錄。
編譯後:
md5/
|-- bin
| |--c_rehash
| `--openssl
|-- include
| `--openssl
|-- lib
| |--engines
| |--fips_premain.c
| |--fips_premain.c.sha1
| |--libcrypto.a
| |--libcrypto.so -> libcrypto.so.0.9.8
| |--libcrypto.so.0.9.8
| |--libssl.a
| |--libssl.so -> libssl.so.0.9.8
| |--libssl.so.0.9.8
| `--pkgconfig
`-- ssl
|-- certs
|-- man
|-- misc
|--openssl.cnf
`--private
2.測試程式的編譯:
測試參考了:
如何編譯參考了:
/*
Code snippet to calculate SHA1sum using openssl libs.
Copyright 2005 Junichi Uekawa, given to public domain.
$ gcc openssltest.c –lssl
$ ./a.out < ./a.out
eae8189278303caaa78f2d89e6a6ebeb7d37b554
$ sha1sum ./a.out
eae8189278303caaa78f2d89e6a6ebeb7d37b554 ./a.out
*/
#include <stdio.h>
#include <openssl/sha.h>
main ()
{
SHA_CTX s;
int i, size;
char c[512];
unsigned char hash[20];
SHA1_Init(&s);
while ((size=read (0, c, 512)) > 0)
SHA1_Update(&s, c, size);
SHA1_Final(hash, &s);
for (i=0; i < 20; i++)
printf ("%.2x", (int)hash[i]);
printf ("\n");
}
編譯命令
armv6zk-none-linux-gnueabi-gccssl_test.c -I /home/stb/md5/include/ -L/home/stb/md5/lib -lssl -lcrypto -ldl -oding.out
-I引數制定了標頭檔案路徑;
-L引數制定了連結庫路徑;
-lssl-lcrypto –ldl引數是如何確定的呢。上面的
[[email protected]]# cat libssl.pc
prefix=/home/stb/md5
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: OpenSSL
Description: Secure Sockets Layer and cryptographylibraries
Version: 0.9.8j
Requires:
Libs: -L${libdir} -lssl -lcrypto -ldl
Cflags: -I${includedir}
3.在arm11核的開發板上執行:
[[email protected]]#./ding.out<ding.out
出現錯誤:
./ding.out: error while loading sharedlibraries: libssl.so.0.9.8: cannot open shared object file: No such file ordirectory
[[email protected]]#export
export HISTSIZE="1000"
export HOME="/root"
export HOSTNAME="decate"
export LD_LIBRARY_PATH="/usr/local/lib"
。。。。。。。
把libssl.so.0.9.8、libcrypto.so.0.9.8拷貝到/usr/local/lib,並執行:
ln-s libssl.so.0.9.8 libssl.so
ln-s libcrypto.so.0.9.8 libcrypto.so
再次執行:
[[email protected]]#./ding.out<ding.out
輸出:
ac6edbdcc88ca9d85b9448843f4cb0d17cf686b3
自此,移植初步完成。
相關推薦
openssl移植的arm開發板全過程
1.交叉編譯參考了:我的makefile修改完如下:#CC=gccCC=armv6zk-none-linux-gnueabi-gccCFLAG= -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS-D_REENTRANT -DDSO_DLFCN -DH
MiniGUI 移植到pc和arm開發板全過程詳解 及錯誤解答
最近移植了 MiniGUI 1.3.3 到一個開發板上,中間遇到許多問題,在論壇上發問題,結果也沒多少人回我,就算偶爾有回的,基本上回答也沒有什麼用,網上找不到一個完整的移植文章,所以就決定把自己這次移植摸出來的一些方法寫出來,給像我一樣的小菜鳥做個參考吧。本文不教你怎麼寫驅
移植wpa_supplicant2.5到arm開發板
this func gnu error netlink eabi err erro arm-linux 編譯libnl1-1: ./configure --host=arm-linux --enable-static --prefix=/usr/local/ssl CC
將lrzsz工具移植到ARM開發板 ---只通過串列埠實現window和ARM板之間檔案互傳
事情背景:由於需要在windows和ARM板之間只通過串列埠傳輸檔案(windows的檔案只通過串列埠傳輸到ARM板上) 這時超級終端SecureCRT+lrzsz工具可以完成這項使命!(其他終端軟體
lrzsz串列埠工具移植到ARM開發板
lrzsz是一個Unix通訊包,提供XMODEM、YMODEM和ZMODEM檔案傳輸協議。lrzsz以前是Omen科技的主打軟體,現在已經免費,並且遵循GNU開源協議。 lrzsz適合這樣一種開發環境,一塊板子,除了串列埠,沒有任何外部出入輸出裝置,沒有sd卡,沒有網線,這個時候如
移植Qt圖形介面應用程式到S3C2440 arm開發板
1.進入qt已經寫好的一個圖形介面應用程式目錄裡,例如,我的應用程式目錄是在/home/czd/qt_project/mp3player/ $ cd /home/czd/qt_project/mp3player/ 發現裡面有個mp3player.pro檔案 我們在上面已配置
python和json 移植到 ARM開發板
下載移植包:http://download.csdn.net/detail/lyh2529/72389411.將bin12.02.tar傳送到arm板上,並將其解壓到arm板上作業系統的bin目錄下,命令為:tar -xvf bin12.02.tar -C /2.將lib12.02.tar傳送到arm板上,並
qt creator 檔案移植到開發板上執行 的全過程
因為板子已經有qt庫檔案了 我們不進行移植qt庫,1 安裝arm-linux-gcc交叉編譯器2 編譯 qt4.7.1 原始碼(原始碼有點錯自己google修改)3 安裝qtcreator4 配置qt create的 debug 加入編譯好的qt4.7.1 qmake 檔案
ARM開發板系統移植-----kernel的編譯
前面一篇文章介紹了開發板上系統軟體的第一部分--bootloader的編譯方法。 背景:把bootloader燒寫到開發板的Nand Flash中後,開發板從Nand啟動,硬體會自動將bootlo
arm開發板的NTFS-3G完整移植+中文目錄支援+自動掛載(udev)
-NTFS-3G完整移植+中文支援+自動掛載1核心裁剪1.1進入核心原始碼目錄下:$make menuconfig Linux/arm 2.6.37 Kernel Configuration File systems ---> //N
ARM開發板OK6410移植opencv-2.4.7庫qt介面顯示(附加各種問題解決方案)
轉載:http://blog.csdn.net/jiebaoabcabc/article/details/22935185 經過了昨天一天苦逼的研究opencv原始碼、arm-linux編譯器工作原理和堅持不懈的make,我終於移植成功了opencv-2
SQLITE+PYTHON成功移植到ARM開發板執行
下載原始碼: Sqlite 3.6.23.1 http://www.sqlite.org/sqlite-3.6.23.1.tar.gz Python 2.6.5 http://www.python.org/ftp/python/2.6.5/Python-2.6.5.tar.bz2 由於sqlite是pyth
移植ubuntu core到Arm開發板
最初是想把整個ubuntu移植到MX51開發板,因為專案不需要執行桌面系統,所以只移植了一個基本的ubuntu core系統 1. 下載ubuntu core rootfs,關於ubuntu core參考https://wiki.ubuntu.com/Core http:
移植boa 伺服器到arm開發板筆記
(1)開發版: TQ2440 , (2)編譯linux主機: 虛擬機器上的RHEL 5.4 (3)交叉 工具鏈: 是前段時間自己編譯出來的arm-sdutyl-linux-gnueabi-gcc (4)環境變數: [[email protec
移植madplay到arm開發板
這篇文章寫的很全,沒什麼好改的了。 按照上面做肯定能成功的,但是要注意目錄的問題,記得自已的目錄別搞錯了。 <--! 強烈建議不要在虛擬機器掛接Windows共享目錄下進行編譯 --> 1.配置編譯環境 首先,將要使用的交叉編譯器設為預設交
將node.js移植到arm開發板
node.js版本 0.12.6 下載地址:https://nodejs.org/download/release/v0.12.6/ 我用的版本是:node-v0.12.6.tar.gz a
ARM開發板搭建NFS網絡文件系統方法
安裝 http ext 博客 主機 文件 oot ini first 前邊 已經提到過吧vmare的IP改成了靜態IP,對於上網來說,這個是個麻煩的事。現在重新配置Vmware的IP VMware-Edit-Virtual network editor 選擇PC機的無線網
產品研發ARM開發板如何選擇?飛思卡爾I.MX6Q開發板
pow 清分 工作 images logs 時鐘 網通 https 處理器 處理器:迅為-i.MX6開發板恩智浦Cortex-A9 四核i.MX6Q處理器,主頻1GHz,內存2G,存儲16GB。 系統支持:i.MX6開發板系統支持LINUX,Android,Ubuntu系統
嵌入式開發板ARM開發板-迅為4418開發板接口基本介紹
4418開發板 接口介紹 迅為4418開發板無縫兼容6818平臺,是北京迅為電子有限公司研發設計的一款開發板平臺,核心板尺寸小,引出腳多,能夠幫助工程師們快速開發新產品。行業應用:iTOP-4418開發板/6818開發板可廣泛適用於工控、智能家居、醫療、多媒體、安防、車載、金融、消費電子、手持設備、顯
初試ARM開發板
style min 學習 down win7 too 顯示 pan 成功 博主剛開始學習嵌入式開發,在老師指導下進行了led點亮的實驗。 一、準備工作 開發板型號:Friendly mini 2451 環境:win7+minitools 二、進入usb下載模式 使用 Min