クロス・コンパイル環境(on openSUSE11.3)
玄箱でカーネルをコンパイルすると1日以上かかってしまい、時間ばかりかかって大変なので、openSUSE11.3に玄箱HGのクロス・コンパイル環境を構築します。
今回は、/usr/local/ppc-linuxの中に、コンパイル環境を構築します。
準備
- openSUSE11.3がインストールされているPC
- debian Lennyがインストールされている玄箱HG
- binutils-2.20.1a.tar.bz2
- gcc-core-4.4.3.tar.gz
手順
ライブラリの取得
1.玄箱HGにライブラリ用のパッケージをインストールする。
# apt-get install libc6-dev
2.玄箱HGから/lib、/usr/lib、/usr/includeのファイルをコピーする。
$ su -
# mkdir kuro_lib
# cd kuro_lib
# cp -RL /lib ./
# cp -RL /usr/lib/* lib
# cp -RL /usr/include ./
# cd ..
# tar zcvf kuro_lib.tar.gz kuro_lib
# exit
3. 玄箱で作ったkuro_lib.tar.gzをopenSUSEで展開する。
kuro_lib.tar.gzは、ホームディレクトリに保存しておく。
そこから、 /usr/local/ppc-linux/kurobox以下に展開する。
$su
#mkdir -p /usr/local/ppc-linux/kurobox
#cd /usr/local/ppc-linux/kurobox
#cp ~/kuro_lib.tar.gz .
#tar zvxf kuro_lib.tar.gz
#exit
玄箱HGを使うのはここまで。
binutilsのインストール
まず、binutils-2.20.1a.tar.bz2をダウンロードします。
その後、適当なディレクトリに展開し、/usr/local/ppc-linuxに
binutilsをインストールします。
$tar jxvf binutils-2.20.1a.tar.bz2
$cd binutils-2.20
$./configure --target=ppc-linux \
--enable-shared \
--prefix=/usr/local/ppc-linux
$make
#su
#make install
#exit
注意)./configureでエラーが出た場合、gcc、make等が入っていることを確認する。
gccのインストール
まず、gcc-core-4.4.3.tar.gzをダウンロードします。
その後、適当なディレクトリに展開をします。
gccをコンパイルする際の注意で、ディレクトリ作成し、その中でビルドを行わないと、ビルドエラーが発生します。
また、rootで実行する必要がある。
$ tar zxvf gcc-core-4.4.3.tar.gz
$ cd gcc-4.4.3
$ mkdir ppc-linux
$ cd ppc-linux
$ su
# export PATH=/usr/local/ppc-linux/bin/:$PATH
# ../configure \
> --prefix=/usr/local/ppc-linux \
> --target=ppc-linux \
> --enable-shared --disable-nls \
> --with-as=/usr/local/ppc-linux/bin/ppc-linux-as \
> --with-ld=/usr/local/ppc-linux/bin/ppc-linux-ld \
> --with-headers=/usr/local/ppc-linux/kurobox/include \
> --with-libs=/usr/local/ppc-linux/kurobox/lib
# make
# make install
# exit