300x250
반응형

Openssl 을 임베디드 환경에 Cross-compile하는 방법을 소개.

작성 기준일은 2018/09/05이며 현재 시간으로 작업을 해도 별 차이는 없을 거라 판단 합니다.

 

참고 사이트 : http://takhwan.blogspot.kr/2016/03/arm-openssl.html

 

ARM용 OpenSSL 크로스 컴파일하기

ARM 타겟 보드 용 OpenSSL 라이브러리 생성하기 openssl-1.0.1s

takhwan.blogspot.com

위 사이트 접속 하면 조금 더 디테일 하게 참고 할 수 있습니다. 

 

컴파일 환경은 ubuntu14.04이며 arm용으로 크로스 컴파일 합니다.

목적은 브로드컴 보드가 기반인 임베디드 장비에서 사용하기 위함.

 

  • toolchain source해줄것.
  • configure
    ./Configure linux-generic32 shared -DL_ENDIAN --prefix=/home/shlee/xml_rpc/openssl-arm --openssldir=/home/shlee/xml_rpc/openssl
  • make 
    make install CC=arm-linux-gcc RANLIB=arm-linux-gnueabihf-gcc-ranlib LD=arm-linux-gnueabihf-ld MAKEDEPPROG=arm-linux-gnueabihf-gcc PROCESSOR=ARM
  • 참고 사이트
  • 빌드 완료 된 openssl 파일을 타겟에서 실행 하면
    symbol lookup error: ./openssl: undefined symbol: i2d_DHxparams
    위에 같은 에러가 발생 하는 경우 컴파일 하면서 생성 된 lib파일을 타겟의 libs/lib 에 복사 해 주면된다.
  • ps) libssl이나 lib crypto는 현재 타겟 이미지를 만들면서 만들어지는 라이브러리 인데 openssl 컴파일 하면서 생성된 라이브러리로 교체 해주었을 때 타겟 이미지가 정상 적인 동작을 하는지 확인이 필요하다.
  • openssl.cnf path 설정.
  • openssl 실행 후 WARNING: can't open config file: /home/shlee/xml_rpc/openssl/openssl.cnf 발생 할 경우
    export OPENSSL_CONF=/mnt/hd/openssl.cnf
    위 처럼 설정 해주면 해당 warning메세지 발생 안함. libpath 파일에 등록 하고 소싱 해주면 됨.
  • 최종 실행 방법
    1. openssl
    2. version
    이후에 본인이 설정한 버전이 맞는지 확인 하면 일단 설치는 완료.

 

정상 동작 확인 하였고 실제 사용 중입니다

728x90

+ Recent posts