Linux 上で Windows のモジュールをコンパイルする方法は Google 先生に聞くと結構出てくるけど、その逆がなかなか出てこない。 ということで Windows 上で Linux のモジュールをコンパイルする方法をメモ。 #contents * Windows 上に UNIX 環境を構築 [#b84e6734] Cygwin か MinGW/msys ということになると思う。導入に関する詳細は下記ページで。 - [[UNIX on Windows]] ここでは Cygwin を使ってみる。 * ソースの入手 [#kb724182] ターゲットとなる Linux の C++ 環境と、Cygwin でつくる gcc のソースが必要になる。 今回、Linux は fedora 11 を使うことにする。ここは、お好みのディストリビューションで OK かと思う。 fedora の場合は、下記サイトから C ライブラリをもらってくる。 - [[IIJ の公開 FTP:ftp://ftp.iij.ad.jp/]] -- [[glibc-2.10.1-2.i586.rpm:ftp://ftp.iij.ad.jp/pub/linux/fedora/releases/11/Fedora/i386/os/Packages/]] -- [[glibc-headers-2.10.1-2.i586.rpm:ftp://ftp.iij.ad.jp/pub/linux/fedora/releases/11/Fedora/i386/os/Packages/]] gcc は GNU のサイトから引っ張ってくる。 - [[GNU(ftp):ftp://ftp.gnu.org/gnu]] -- [[binutils:ftp://ftp.gnu.org/gnu/binutils]] -- [[gcc:ftp://ftp.gnu.org/gnu/gcc]] FTP で上手くいかないときは [[HTTP の方:http://ftp.gnu.org/gnu]] で。 今回は下記を使う。 - [[binutils-2.19:ftp://ftp.gnu.org/gnu/binutils/]] - [[gcc-3.3.4:ftp://ftp.gnu.org/gnu/gcc/gcc-3.3.4/]] * Cygwin 環境の準備 [#e92e2709] 今回は以下のようにする。 - ダウンロード/ビルド ディレクトリ → /home/user/work - インストール先 ディレクトリ → /usr/linux ということで、/usr/linux に glibc-2.11-2.i686.rpm を入れる。 ls /usr/linux glibc-2.10.1-2.i586.rpm /home/user/work に GCC のパッケージを入れる。 $ ls /home/user/work binutils-2.19.tar.gz gcc-3.3.4.tar.gz ※ これはふつうにエクスプローラで移動してくれば OK。 まずは、glibc を展開。 $ cd /usr/linux $ rpm2cpio glibc-2.11-2.i686.rpm | cpio -id $ rpm2cpio glibc-headers-2.11-2.i686.rpm | cpio -id これで以下のフォルダが展開される。(5個) etc sbin usr lib var ----- [[Linux メモ]]