gcc-3.4.5クロス環境(1)
一番楽なのは、crosstoolを使う方法でしょう。
crosstool-0.42.tar.gz(現時点での最新バージョン)を展開し、 demo-*.sh を実行するだけ。必要なファイルもDLしてくれます。
また、toolchainの作成手順やconfigureオプションが参考になるし、パッチ(patches/*)も利用できます。
実際にgcc-3.4.5のクロスコンパイラを作る方法は、attyさんの2006-03-30の日記が参考になります。これを元にして、例えば hardfloat にするには、
gcc-3.4.5クロス環境(補足)
以下、gcc やリンカ・共有ライブラリに関する一般的な話。 gccのマニュアルも参照のこと。ビルド環境と実行環境が違う場合に起こる問題です。
- 実行時に「libgcc_s.so.*がない」と言われる
- 実行時に「lib*.soがない」と言われる
- softfloatのライブラリとhardfloatのそれをリンクすることは出来ない
- 従って、libqpe.soに依存するもの(Qtopia)は全てhardfloat
- OpenZaurus はsoftfloat ([VFP][SoftFP]、さらにkernelが2.6 なので速い?)
zpsx のソース
PSエミュSDL版 (2006-04-18) のソースをアップします。ライセンスはGPL。詳細はソース内の README.sdl-bvddを参照のこと。
- ソース: zpsx006.sdl-bvdd.tar.gz
- 差分: zpsx006.sdl-bvdd.patch (ただし、gpu.c は改行コードが違うためパッチに失敗する)
Emulator for zaurus SL-xxxさんが 06/04/25 の記事でも触れているとおり、本家フォーラムに動きがありそうだったので、それを待っていたのですが…。
裏口
いつの間にかv18fが進行中。fastfpeの改良と、「snes9x実行後にmplayerが落ちる問題」も解決されるとのこと。
C3200のカーネルソースも公開されています。でもSDドライバは公開していません。
gcc-2.95*クロス環境
スペシャルカーネルの構築用。
SHARP提供のクロス開発環境(gcc-2.95.2, glibc-2.2.2) を、binutils-2.16.1で上書きすることで、"-mcpu=iwmmxt" が使えるようになります。
# (1) ザウルス宝箱より (/opt/Embedix/tools/にインストールされる) rpm -ivh \ gcc-cross-sa1100-2.95.2-0.i386.rpm \ glibc-arm-2.2.2-0.i386.rpm \ linux-headers-arm-sa1100-2.4.6-3.i386.rpm \ binutils-cross-arm-2.11.2-0.i386.rpm # (2) binutils-2.16.1 のビルドとインストール # "--enable-targets=xscale-linux-elf" は無くてもいい? (未検証) tar jxvf binutils-2.16.1.tar.bz2 cd binutils-2.16.1 ./configure \ --prefix=/opt/Embedix/tools \ --target=arm-linux \ --enable-targets=xscale-linux-elf make make install
参考:hisさん, たたかうデジタリアンさん
squashfs3.0
v18用モジュール(2004-04-09)で、「squashfsパッチを当てるとzImageのビルドに失敗する」と書きましたが、修正したパッチを作成したので置いておきます(ついでにipkも)。
ちなみに、squashfs3.0から unsquashfs コマンドが追加されました。便利。
(追記) ver.2.2で作成したイメージは、3.0と互換性の問題があるようなので、旧バージョンも置いておきます。