|
環境準備その2 クロスコンパイラ
|
まず
最初のステップを踏むことができました!!
幸か不幸かわかりませんが、おおきな一歩だと思います
とにかくプログラムを作る環境ができました
しかし、
さきほどインストールしたコンパイラではOSを作ることができません。
何故???
Cygwinをインストールしたときに入れたGccでコンパイルしたプログラムは
実はアプリケーションしかできません
OSがアプリケーションを実行するのに、その大元のOSがアプリケーションでは
ないということがなんとなく想像つきますでしょうか?(かなり語弊はありますが。。。)
さきほどインストールしたGccはある程度OSみたいなものができてきてから
実行させるアプリケーションを作るためのコンパイラです(と思ってください)
細かい説明は追々しますが、OSをコンパイルするコンパイラが必要です
(Linux環境のGCCはLinuxをコンパイルできるGCCですのでそれが必要です
この環境を準備しなくても出来る方法もありますので、挑戦してみるのよいかと思います)
またまた
Cygwinをインストールします。(次はCygwinではなくてコンパイラだけです)
まずは下準備です
Cygwinを管理者権限で動かす
Windows Vista以降(7とか)をお使いの方はCygwinを管理者権限で
で動かす必要があります(このインストールをするときだけです。後で元に戻してください)
(Vistaより古いWindowsではこの操作を行う必要はありません)
インストールしたCygwinのアイコンを右クリック→プロパティ→互換性タブをクリックして
管理者として実行するにチェックを入れてください
(右クリック→管理者として実行するして実行すればこの設定は必要ありません
Cygwinを起動させてsetup-x86.exeのフォルダまで移動する
Cygwinをダブルクリックして起動させてください。
起動した後にsetup-x86.exeがあるフォルダまで移動してください
例えばデスクトップにsetup-x86.exeがある場合、移動するコマンドは
cd /cygdrive/c/Users/ユーザ名をいれてください/Desktop
と入力してEnterを押してください
するとCygwinの表示が/cygdrive/c/Users/ユーザ名をいれてください/Desktopに
変わるかと思います
また、setup-x86.exeがドキュメント(マイドキュメント)にある場合は
cd /cygdrive/c/Users/ユーザ名をいれてください/Desktop/Documents
と入力してEnterを押してください
(もちろんCygwin上で入力してください)
setup-x86.exeをCygwinから起動させる
ここでCygwin用のOSを作るためのコンパイラを作っている方が
いらっしゃるので今回はそこからダウンロードさせてもらいます
このコンパイラはLinux用の実行ファイルを作るコンパイラで
このようにWindows環境でLinux用実行ファイルを作るような
コンパイラをクロスコンパイラといいます
Cygwin Ports project
というサイトで作っておられるのでそのサイトに記載されている手順で
インストールしていきます
setup-x86.exeの起動方法はsetup-x86.exeがあるフォルダで(上記手順で移動しました)
./setup-x86.exe -K http://cygwinports.org/ports.gpg
と入力してEnterを押してください
ダウンロードサイトを入力する
するとさっきと同じようにセットアップ画面が進んでいきます
ダウンロードサイト選択画面でftp://ftp.cygwinports.org/pub/cygwinportsを
入力して”Add”をクリックして次へしてください
クロスコンパイラパッケージを選択する
さっきと同じ手順で
- All→Devel→linux-i686-binutils:Binutils for Linux i686 toolchain
- All→Devel→linux-i686-gcc:GCC for Linux i686 toolchain(meta-package)
- All→Devel→linux-linux-i686-gcc-core:GCC for Linux i686 toolchain(C,OpenMP)
をインストールします。このクロスコンパイラは32ビットコードを生成するコンパイラで、このサイトでは主に
こちらを仕様します。(64ビット環境の方も上記コンパイラーをインストールしておきましょう)。
64ビットのクロスコンパイラは下記をインストールします。(必須ではありません。)
- All→Devel→linux-x86_64-binutils:Binutils for Linux x86_64 toolchain
- All→Devel→linux-x86_64-gcc:GCC for Linux x86_64 toolchain(meta-package)
- All→Devel→linux-x86_64-gcc-core:GCC for Linux x86_64 toolchain(C,OpenMP)
をインストールしてください
画像は64ビットコード生成用のクロスコンパイラですが、このサイトでは、32ビットコードを主に取り扱います
ので、少し上にあるlinux-i686の32ビット用のGCCをインストールしてください。
(64ビット用クロスコンパイラでも32ビット用コードは生成できます。)
選択した後次へでインストールをしてください
これでOSを作る用のコンパイラ(と実はアセンブラも)インストールできました