GNU/Linuxのcross buildみたいなこと

Crusoeが感動的に遅いので、kernelをEM64TDebianで作らせることに。IA32として使うぶんには同じarchなのだけど、AMD64として使うと違うarch扱いになるので、cross buildみたいな事が必要になる。
とはいえ、実際に使うコンパイラは同じgccで引数が違うだけ。参考にしたのは、Debian amd64/i386 biarch@ほげめも。ちょうどここと逆のことをやった。

  • 各種toolを違う名前で実行できるよう、何らかのprefixを付けたsymlinkをPATH内に作る。
  • gccだけは-m32をオプションに付加するスクリプトにした。
  • Debianなのでmake-kpkgを使ってbuild

make-kpkg --revision 2006031901 kernel-image --rootcmd fakeroot --cross-compile i486-linux-gnu- --arch i386 --config menuconfig

まぁ、こんだけ。NetBSDのbuild.shみたいな仕組みがあるといいんだけどねー