LINUX環境構築/CentOS4.0/ppcクロスコンパイル環境

Last-modified: 2006-12-06 (水) 19:29:54

1. ソースファイルのダウンロード
以下のファイルを取ってくる。
ちなみに4つのファイルのサイズの合計は、640M。
ビルド&インストールするには、約2Gのディスクスペースが必要。

binutils-2.14.90.0.7.tar.gz
gcc-3.3.2-20031219.tar.gz
glibc-2.3.2-200310271512.tar.gz
glibc_head.tar.gz

2. root になって
export LANG=C
する。
以下ルートで作業。

なお、開発ツールのソースを展開&ビルドするディレクトリは、
/usr/local/src の下。
開発ツールをインストールするディレクトリは、コンフィグレーションの
デフォルトである、
/usr/local/powerpc-linux の下としています。
インストールするディレクトリを変更したい場合は、
各ツールのConfig.shを変更してください。

3. binutilsのビルド&インストール
以下のコマンドを実行。

cd /usr/local/src
tar xzvf binutils-2.14.90.0.7.tar.gz
cd binutils-2.14.90.0.7/powerpc-linux
sh Config.sh
make all
make install

4. gccのビルド&インストール
glibcをビルド&インストールしていないため、
コンパイラが参照するヘッダがないので、他のPPCマシン上のglibcヘッダファイル
を仮に使用する。

cd /usr/local/src
tar xzvf glibc_head.tar.gz
tar xzvf gcc-3.3.2-20031219.tar.gz
cd gcc-3.3.2-20031219/powerpc-linux-01
sh Config.sh
make all-gcc
make install-gcc

5. glibcのビルド&インストール

Linuxカーネルのコンフィグレーションをしていない場合、
Linuxのソースディレクトリ/include/linux/version.h が生成されていないため
sh Config.shで
「checking installed Linux kernel header files... TOO OLD!」
というエラーがでる。この場合は、Linuxのソースディレクトリのしたで、
make menuconfig
してカーネルのコンフィグレータを一度起動して、何もせずにそのままExitすれば
自動的にversion.hファイルが生成される。
注) 2.6.x では make menuconfig のあと make prepare-all が必要

cd /usr/local/src
tar xzvf glibc-2.3.2-200310271512.tar.gz
rm -rf /usr/local/powerpc-linux/sys-include
mkdir /usr/local/powerpc-linux/include
ln -s Linuxのソースディレクトリ/include/asm-ppc /usr/local/powerpc-linux/include/asm
ln -s Linuxのソースディレクトリ/include/linux /usr/local/powerpc-linux/include/linux

注)2.6.xでは include/asm-generic もシンボリックリンクする必要あり

ln -s Linuxのソースディレクトリ/include/asm-generic /usr/local/powerpc-linux/include
cd glibc-2.3.2-200310271512/powerpc-linux
sh Config.sh
make all
make install

6. gccの再ビルド&インストール
glibcをインストールしたことにより、コンパイラが参照する正しいヘッダファイルが
作成できたので、それを使用してコンパイラをビルド&インストールする。

cd /usr/local/src/gcc-3.3.2-20031219/powerpc-linux-02
sh Config.sh
make all-gcc
make install-gcc