クロスコンパイル環境構築備忘録(x86/ARM)
クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)クロスコンパイル環境構築(x86/ARM)

2.クロスコンパイル環境構築(x86/ARM)

前提:
ダウンロードしたパッケージは/usr/local/srcにあるものとします

@ ARM用binutilsの導入

  $cd /usr/local/src
  $bzcat binutils-2.14.90.0.7.tar.bz2 | tar xvf -
  $cd binutils-2.14.90.0.7

 @.ARM用のワークディレクトリを作成します

  $mkdir -p binutil_arm
  $cd binutil_arm

 A.ARM用のbinutilsを構成します

 既に本で紹介されているので今回の環境でどのくらいの構築時間がかかるのかを計って見たいと思います(計測にはtimeコマンドを使用します)
  $time ../configure --program-suffix=-arm --target=arm-gba-elf

 オプション説明:
 --program-suffix:バイナリーファイルに-armという識別子をつけます
 --target:リンカープログラム
 構成に約80秒かかりました(例なので必ずしもこの結果になるとは限りません)

 B.ARM用binutilsのコンパイル

  $time make
 コンパイルに約645秒かかりました

 C.ARM用binutilsの導入

  #make install

 /usr/local/bin以下にバイナリファイルが導入されます
 導入ファイル:
add2line-arm ar-arm as-arm c++filt-arm ld-arm
nm-arm objcopy-arm objdump-arm ranlib-arm readelf-arm
size-arm strings-arm strip-arm    

 /usr/local/arm-gba-elf以下にリンカーファイルなどが導入されます

A x86用binutilsの導入

  $cd /usr/local/src
  $cd binutils-2.14.90.0.7

 @.x86用のワークディレクトリを作成します

  $mkdir -p binutil_i686
  $cd binutil_i686

 A.x86用のbinutilsを構成します

 ARM用と同様に構築時間を計って見ます
  $time ../configure
 構成に約80秒かかりました
 ARM用と時間は変わりませんでした

 B.x86用binutilsのコンパイル

  $time make
 コンパイルに約740秒かかりました
 100秒くらいARM用に比べるとかかりました

 C.x86用binutilsの導入

  #make install

 /usr/local/bin以下にバイナリファイルが導入されます
 導入ファイル:
add2line ar as c++filt ld
nm objcopy objdump ranlib readelf
size strings strip gprof  

 /usr/local/i686-pc-linux-gnu以下にリンカーファイルなどが導入されます

B ARM用GCCの導入

  $cd /usr/local/src
  $bzcat gcc-core-3.3.2.tar.bz2 | tar xvf -
  $cd gcc-3.3.2

 @.ARM用のワークディレクトリを作成します

  $mkdir -p gcc_arm
  $cd gcc_arm

 A.ARM用のGCCを構成します

 既に本で紹介されているので今回の環境でどのくらいの構築時間がかかるのかを計って見たいと思います(計測にはtimeコマンドを使用します)
  $time ../configure --program-suffix=-arm --target=arm-gba-elf \
           --disable-shared -disable-threads --disable-nls
 構成に約115秒かかりました

 B.ARM用GCCのコンパイル

  $time make
 コンパイルに約17分40秒かかりました

 C.ARM用GCCの導入

  $make install

 /usr/local/bin以下にバイナリファイルが導入されます
 導入ファイル:
gconv-arm gccbug-arm arm-gba-elf-cpp
arm-gba-elf-gcc arm-gba-elf-gcc-3.3.2  

 /usr/local/arm-gba-elf以下にCプリプロセッサなどが導入されます

C x86用GCCの導入

  $cd /usr/local/src
  $cd gcc-3.3.2

 @.x86用のワークディレクトリを作成します

  $mkdir -p gcc_i686
  $cd gcc_i686

 A.x86用のGCCを構成します

 ARM用と同様に構築時間を計って見ます
  $time ../configure
 構成に約115秒かかりました
 ARM用と時間は変わりませんでした

 B.x86用GCCのコンパイル

  $time make
 コンパイルに約20分20秒かかりました
 3分くらいARM用に比べるとかかりました

 C.x86用GCCの導入

  #make install

 /usr/local/bin以下にバイナリファイルが導入されます
 導入ファイル:
gconv gccbug cpp
gcc i686-pc-linuc-gnu-gcc-3.3.2 i686-pc-linux-gnu-gcc

 /usr/local/i686-pc-linux-gnu以下にCプリプロセッサなどが導入されます


前  戻る  次
クロスコンパイル環境構築(x86/ARM)