|
|
| No.000354 | - Wiki Edit - |
| Date : | Sep.14.2003 19:36'20 |
| Topic : | LinkStation:spec |
| No.000353 | - Wiki Edit - |
| Date : | Sep.14.2003 19:33'30 |
| Topic : | LinkStation:CrossCompile |
| No.000352 | LinkStation:CrossCompile |
| Date : | Sep.14.2003 19:30'22 |
| Edit history : |
Sep.15.2003 04:33'29 |
|
LinkStation 向けクロスコンパイル環境構築のためのメモ。 Debian GNU/Linux 3.0 上で作業したものだけれども IA32 ならばさほど変わらないものと思われます。 *参考にしたところ http://www.smalltown.ne.jp/~usata/memo/openblocks.shtml http://www.angel.ne.jp/~tane/prog/win/howtobuildtools.html http://www.kt.rim.or.jp/~nozawat/gcc.html http://it-step.homeip.net/embeddedppc/test/ *基本事項 ターゲットは powerpc-linux。 手順は、binutils→gcc(仮版)→newlib→glibc→newlib消し→glibc版gcc *binutils >% ./configure --target=powerpc-linux --prefix=/usr/local/powerpc-linux >% make >% make install >% export PATH="$PATH:/usr/local/powerpc-linux/bin" *newlib link gcc のコンパイル時 newlib を使う様に gcc ディレクトリ内に newlib へのシンボリックリンクを張ります。 >% cd gcc-2.95.3 >% ln -s ../newlib-1.9.0/newlib/ . *gcc-core-2.95.3 初期環境構築時は C Compiler だけあれば良いので gcc-core を用います。 最初のコンパイルは newlib を使って動作する仮版の gcc で、その仮版は glibc をビルドするために作られます。 gcc-2.95.3 のソースディレクトリと同じ階層に作業用ビルドディレクトリを作りその中で作業します。 >% mkdir objgcc >% cd objgcc >% ../gcc-2.95.3/configure --target=powerpc-linux \ > --prefix=/usr/local/powerpc-linux --with-newlib >% make >% make install *newlib-1.9.0 > % mkdir objnewlib > % ../newlib-1.9.0/configure --target=powerpc-linux \ > --prefix=/usr/local/powerpc-linux/ > % make > % make install *glibc-2.2.3 2.2.3 は LinkStation のシステムで使われているバージョン。 glibc のビルドには Linux kernel が必要です。LinkStation で使われているカーネルと同じバージョンの Linux-2.4.17 を用意しておきます。 >% export LINUXSRC=(カーネルソースのディレクトリ) >% AR=powerpc-linux-ar CC=powerpc-linux-gcc RANLIB=powerpc-linux-ranlib \ > ../glibc-2.2.3/configure --host=powerpc-linux \ > --prefix=/usr/local/powerpc-linux/ --with-headers=$LINUXSRC/include/ \ > --disable-sanity-checks >% make gnu/lib-names.h >% AR=powerpc-linux-ar CC=powerpc-linux-gcc RANLIB=powerpc-linux-ranlib \ > ../glibc-2.2.3/configure --host=powerpc-linux \ > --prefix=/usr/local/powerpc-linux/ --with-headers=$LINUXSRC/include/ \ > --enable-add-ons=linuxthreads --disable-sanity-checks --disable-profile >% make >% make install >% cat */stubs > /usr/local/powerpc-linux/include/gnu/stubs.h >% cp -r $LINUXSRC/include/linux /usr/local/powerpc-linux/include/ >% cp -r $LINUXSRC/include/asm-ppc /usr/local/powerpc-linux/include/ >% mv /usr/local/powerpc-linux/include/asm-ppc /usr/local/powerpc-linux/include/asm glibc のインストール時 stdio.texi でエラーになる場合 "@ref{," とある場所(2個所)を "@ref{Top," に変更する。 *newlib の削除 >% rm -rf /usr/local/powerpc-linux/powerpc-linux/lib >% rm -rf /usr/local/powerpc-linux/powerpc-linux/include >% ln -s /usr/local/powerpc-linux/lib \ > /usr/local/powerpc-linux/powerpc-linux/lib >% ln -s /usr/local/powerpc-linux/include \ > /usr/local/powerpc-linux/powerpc-linux/include *gcc 再構築(glibc版) >% mkdir objgcc >% cd objgcc >% ../gcc-2.95.3/configure --target=powerpc-linux \ > --prefix=/usr/local/powerpc-linux \ > --with-headers=/usr/local/powerpc-linux/include \ > --with-libs=/usr/local/powerpc-linux/lib >% make >% make install *おまけ、セルフコンパイル環境をクロスコンパイルする >% expott SELFENV=(セルフコンパイルバイナリを置く場所) >% ../binutils-2.14/configure --build=i686-pc-linux-gnu --host=powerpc-linux \ > --prefix=$SELFENV --enable-targets=powerpc-linux-elf \ > --enable-shared >% ../gcc-core-2.95.3/configure --build=i686-pc-linux-gnu \ > --host=powerpc-linux --with-lib=/usr/local/powerpc-linux/lib \ > --with-include=/usr/local/powerpc-linux/include/ \ > --prefix=$SELFENV --enable-shared 作った後の環境は $SELFENV に置かれているものとして動作するので、LinkStation上に持っていったあと $SELFENV と同じディレクトリに入れるかシンボリックリンクを駆使して同等の環境を作る。 クロスコンパイル版セルフ開発環境がインストールできた後、できれば LinkStation 上で binutils と gcc をセルフコンパイルして問題ないバイナリを作った方が良いと思われる。そうすることで $SELFENV ディレクトリは不要になるので。 |
|
|
|
|
|
| No.000351 | LinkStation:SelfCompile |
| Date : | Sep.14.2003 19:02'50 |
| Edit history : |
Jun.15.2005 17:51'07 |
|
私(れろれろ@ふみ)がふにふにと構築したセルフコンパイル環境。アーンド、各種 GNUツールズ、基本開発キット。 バイナリ提供しますので、手っ取り早い開発環境導入方法としてご活用ください。 なんか今一つなところがありそうなので色々いじっている最中です。 これはあくまで足掛かりとして、ご自分で環境を整えていった方が良いと思われます。 *LinkStation ローカル開発環境バイナリセット Size ''69.5MB'' http://www.limo.fumi2kick.com/works/linkstation/linkstation_local_dev_030915.tar.gz このアーカイブの中身を /usr/local として展開してください。 *収録ソフトウェア binutils-2.13.2 gcc-core-2.95.3 (C compiler のみ) glibc-2.2.3 make-3.80 bison-1.875 bzip2-1.0.2 coreutils-5.0 diffutils-2.8 flex-2.5.4 gdb-5.3 httpd-2.0.47 (apache) less-381 m4-1.4 nano-1.2.1 ncurses-5.3 ng-1.4.4 ruby-1.8.0 termcap-1.3.1 termutils-2.0 textutils-2.1 *問題点 ''Sep.15.2003'' perl(5.6.1) がビルド出来なくて悩んでいます。はて? 他は問題なさそうなんですが。 |
|
|
|
|
|
| No.000350 | - Wiki Edit - |
| Date : | Sep.14.2003 19:01'40 |
| Topic : | LinkStation |
|
|
|
|