2011年02月03日
ARM Ubuntuのlibcをソースパッケージから再ビルドする
KZM-A9-DualボードでARM Ubuntuを動かしていますが、libcなどの標準ライブラリはstrip済みなので、デバッグ情報がついていません。そこでソースパッケージから再ビルドしてみました。
Ubuntuのソースパッケージの取得
KZM-A9-DualのARM Ubuntuでlibcを含む標準ライブラリのソースパッケージは以下のようにして取得します。
ソースリポジトリの追加
まず /etc/apt/sources.list をエデュタで開き、deb-src の行を追加します。
/etc/apt/sources.list
deb http://ports.ubuntu.com/ubuntu-ports lucid main universe deb-src http://ports.ubuntu.com/ubuntu-ports lucid main universe
その後で、リポジトリを更新します。
$ sudo apt-get update
ソースパッケージのダウンロード
$ mkdir work-libc $ cd work-libc $ apt-get source libc6
ビルドに必要なツールの取得
libc6をビルドするのに必要なツールは以下のコマンド一発でインストールされます。
$ sudo apt-get build-dep libc6
ビルド
$ sudo apt-get build-dep libc6 $ cd eglibc-2.11.1/ $ debian/rules build 2>&1 |tee build.log
コンパイルオプションには -O2 -g がついています。
stripされていないライブラリが build-tree/armel-libc/ にできます。
KZM-A9-Dualで6時間以上かかりました。夜の間にやっておくのがよいと思います。