Openssl 을 임베디드 환경에 Cross-compile하는 방법을 소개.
작성 기준일은 2018/09/05이며 현재 시간으로 작업을 해도 별 차이는 없을 거라 판단 합니다.
참고 사이트 : http://takhwan.blogspot.kr/2016/03/arm-openssl.html
위 사이트 접속 하면 조금 더 디테일 하게 참고 할 수 있습니다.
컴파일 환경은 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
이후에 본인이 설정한 버전이 맞는지 확인 하면 일단 설치는 완료.
정상 동작 확인 하였고 실제 사용 중입니다
'프로그래밍 > Linux' 카테고리의 다른 글
[CROSS-COMPILE] openssl 컴파일 (0) | 2020.12.24 |
---|---|
[리눅스 명령어] Linux Command line 명령어 (0) | 2020.12.17 |
[FTP] Anonymous 접속 설정 (0) | 2020.12.17 |
[삼바] 삼바 설치 및 설정 방법 (samba setup) (0) | 2020.06.30 |
[우분투] 18.04.3 서버용 네트워크 설정 (0) | 2020.06.30 |