- 追加された行はこの色です。
- 削除された行はこの色です。
Linux 上で Windows のモジュールをコンパイルする方法は Google 先生に聞くと結構出てくるけど、その逆がなかなか出てこない。
ということで Windows 上で Linux のモジュールをコンパイルする方法をメモ。
#contents
* Windows 上に UNIX 環境を構築 [#b84e6734]
Cygwin か MinGW/msys ということになると思う。導入に関する詳細は下記ページで。
- [[UNIX on Windows]]
ここでは Cygwin を使ってみる。
* ソースの入手 [#kb724182]
ターゲットとなる Linux の C++ 環境と、Cygwin でつくる gcc のソースが必要になる。
今回、Linux は fedora 12 を使うことにする。ここは、お好みのディストリビューションで OK かと思う。
今回、Linux は fedora 11 を使うことにする。ここは、お好みのディストリビューションで OK かと思う。
fedora の場合は、下記サイトから C ライブラリをもらってくる。
- [[IIJ:ftp://ftp.iij.ad.jp/]]
-- [[glibc-2.11-2.i686.rpm:ftp://ftp.iij.ad.jp/pub/linux/fedora/releases/12/Fedora/i386/os/Packages/]]
- [[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 で。
FTP で上手くいかないときは [[HTTP の方:http://ftp.gnu.org/gnu]] で。
- [[GNU(http):http://ftp.gnu.org/gnu]]
-- [[binutils:http://ftp.gnu.org/gnu/binutils]]
-- [[gcc:ftp://http.gnu.org/gnu/gcc]]
今回は下記を使う。
- [[binutils-2.19.tar.gz::ftp://ftp.gnu.org/gnu/binutils/]]
- [[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 メモ]]