日記/2014-03-28/debian wheezy 上でのクロスコンパイラのビルド
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
] [
リンク元
]
開始行:
* debian wheezy 上でのクロスコンパイラのビルド [#pc01fe66]
debian 上でクロスコンパイル環境を作るには,以前は
> debian にクロスコンパイラをインストールするには apt-lin...
というのが定番でしたが,最近は emdebian の活動が怪しく,...
というわけで,「debian 上で emdebian に頼らずに自前でクロ...
** 対象アーキテクチャ [#y4004f0f]
今回は armel (ARM EABI, little endian, soft float) を出力...
他のアーキテクチャの場合は,「armel」と書いてある部分を適...
** debian ソースパッケージ [#he14f514]
実は,既に debian のソースパッケージ側でクロスコンパイラ...
というわけで,その道筋に沿って deb パッケージをビルドする...
** xapt コマンドのインストール [#x896b248]
xapt コマンドは
- ホストアーキテクチャと異なるアーキテクチャのライブラリ...
- クロス環境用の deb パッケージに変換して
- インストールする
コマンドです.
何はともあれ,インストールしましょう.
xapt パッケージ自体は普通の deb パッケージなので
# apt-get install xapt
で,オンラインインストールできます.
** binutils [#s7fb61af]
まずは as, ld などのコマンドを含む binutils のビルドから.
# apt-get source binutils # binutils ...
# apt-get build-dep binutils # binutils ...
# cd binutils-x.yy # binutils ...
# TARGET=armel dpkg-buildpackage -b -uc -us # armel ター...
# cd ..
# dpkg -i binutils-arm-linux-gnueabi_*_i386.deb # deb パ...
** GCC [#fda7e5e9]
次は,GCC をビルドします.
# apt-get source gcc-4.7 # gcc-4.7 ソースパッケージ...
# apt-get build-dep gcc-4.7 # gcc-4.7 パッケージのビル...
# xapt -a armel -m libc6-dev # armel アーキテク...
# apt-get install binutils-multiarch # binutils-multiarc...
# cd gcc-4.7-* # gcc のソースコー...
# GCC_TARGET=armel dpkg-buildpackage -b -uc -us # gcc-4....
# cd ..
# dpkg -i *.deb # deb パッケージの...
** gdb [#vb8c266e]
gdb もビルドしてみましょう.
# apt-get source gdb # ソースパッケージのダウンロー...
# apt-get build-dep gdb # ビルドに必要なパッケージをイ...
# cd gdb-*
ここで debian/rules ファイルの以下の行を修正します.
(誤)sed -i "/Package: gdb64/,\$ d" -i "/Package: gdb-m...
↓
(正)sed -i -e "/Package: gdb64/,\$ d" -e "/Package: gd...
ビルド作業に戻ります.
# TARGET=armel dpkg-buildpackage -b -uc -us # パッケージ...
# cd ..
# dpkg -i *.deb # deb パッケージのインストール
修正を入れたソースパッケージをビルドしておいても良いでし...
** 参考資料 [#k44e6248]
- 各ソースパッケージの README ファイル類
- http://psas.pdx.edu/DebianCrossCompilerHowto/
終了行:
* debian wheezy 上でのクロスコンパイラのビルド [#pc01fe66]
debian 上でクロスコンパイル環境を作るには,以前は
> debian にクロスコンパイラをインストールするには apt-lin...
というのが定番でしたが,最近は emdebian の活動が怪しく,...
というわけで,「debian 上で emdebian に頼らずに自前でクロ...
** 対象アーキテクチャ [#y4004f0f]
今回は armel (ARM EABI, little endian, soft float) を出力...
他のアーキテクチャの場合は,「armel」と書いてある部分を適...
** debian ソースパッケージ [#he14f514]
実は,既に debian のソースパッケージ側でクロスコンパイラ...
というわけで,その道筋に沿って deb パッケージをビルドする...
** xapt コマンドのインストール [#x896b248]
xapt コマンドは
- ホストアーキテクチャと異なるアーキテクチャのライブラリ...
- クロス環境用の deb パッケージに変換して
- インストールする
コマンドです.
何はともあれ,インストールしましょう.
xapt パッケージ自体は普通の deb パッケージなので
# apt-get install xapt
で,オンラインインストールできます.
** binutils [#s7fb61af]
まずは as, ld などのコマンドを含む binutils のビルドから.
# apt-get source binutils # binutils ...
# apt-get build-dep binutils # binutils ...
# cd binutils-x.yy # binutils ...
# TARGET=armel dpkg-buildpackage -b -uc -us # armel ター...
# cd ..
# dpkg -i binutils-arm-linux-gnueabi_*_i386.deb # deb パ...
** GCC [#fda7e5e9]
次は,GCC をビルドします.
# apt-get source gcc-4.7 # gcc-4.7 ソースパッケージ...
# apt-get build-dep gcc-4.7 # gcc-4.7 パッケージのビル...
# xapt -a armel -m libc6-dev # armel アーキテク...
# apt-get install binutils-multiarch # binutils-multiarc...
# cd gcc-4.7-* # gcc のソースコー...
# GCC_TARGET=armel dpkg-buildpackage -b -uc -us # gcc-4....
# cd ..
# dpkg -i *.deb # deb パッケージの...
** gdb [#vb8c266e]
gdb もビルドしてみましょう.
# apt-get source gdb # ソースパッケージのダウンロー...
# apt-get build-dep gdb # ビルドに必要なパッケージをイ...
# cd gdb-*
ここで debian/rules ファイルの以下の行を修正します.
(誤)sed -i "/Package: gdb64/,\$ d" -i "/Package: gdb-m...
↓
(正)sed -i -e "/Package: gdb64/,\$ d" -e "/Package: gd...
ビルド作業に戻ります.
# TARGET=armel dpkg-buildpackage -b -uc -us # パッケージ...
# cd ..
# dpkg -i *.deb # deb パッケージのインストール
修正を入れたソースパッケージをビルドしておいても良いでし...
** 参考資料 [#k44e6248]
- 各ソースパッケージの README ファイル類
- http://psas.pdx.edu/DebianCrossCompilerHowto/
ページ名:
-->