OpenSSLのビルド(ARM9用)

組込みのARM9用にOpenSSLをビルドする手順メモ。(じゃっかん古い内容を含んでいます…)

ソースのダウンロード

https://www.openssl.org/source/ からソースをダウンロード]する。
(執筆時点で最新版は openssl-1.0.1l.tar.gz)

ビルド

ホスト環境は、Ubuntu10.04とします。ここではARM9用にarm-none-linux-gnueabi-gccでビルドするものとし、arm-none-linux-gnueabi-gccへのパスは通っているものとします。

tar xvzf openssl-1.0.1j.tar.gz
cd openssl-1.0.1j.tar.gz
CROSS_COMPILE=arm-none-linux-gnueabi- ./Configure --prefix=/usr threads zlib shared no-asm linux-armv4
make

コンパイラへのインストール

クロスビルド全般に言えることですが、インストール先を間違えてホスト環境を破壊しないように、くれぐれも注意が必要です。クロスビルドツールはユーザのホームディレクトリ以下に作り、root権限なしでインストールする方が無難です。
ここでは、${HOME}/tool/arm-2007q1/ に arm-none-linux-gnueabi-gcc がインストールされているものとします。

make INSTALL_PREFIX=${HOME}/tool/arm-2007q1/arm-none-linux-gnueabi/libc install

ターゲットへのインストール

コンパイラへのインストールと同様に、INSTALL_PREFIX指定で、ターゲットのルートファイルシステムを作成しているディレクトリを指定してmake installを行ない、その後でルートファイルシステムのイメージを作成します。
または、適当な空ディレクトリにmake installしてから、できたusrディレクトリをtarでアーカイブし、すでに動作しているターゲットのルートディレクトリでアーカイブの展開をおこないます。