0から作るソフトウェア開発

日々勉強中。。。

0から作るOS開発

環境準備

環境設定

ブートローダ

カーネルローダ

GRUB

カーネル

ドライバーその他

環境準備その2 クロスコンパイラ

まず

最初のステップを踏むことができました!!

幸か不幸かわかりませんが、おおきな一歩だと思います

とにかくプログラムを作る環境ができました

しかし、

さきほどインストールしたコンパイラではOSを作ることができません。

何故???

Cygwinをインストールしたときに入れたGccでコンパイルしたプログラムは

実はアプリケーションしかできません

OSがアプリケーションを実行するのに、その大元のOSがアプリケーションでは

ないということがなんとなく想像つきますでしょうか?(かなり語弊はありますが。。。)

さきほどインストールしたGccはある程度OSみたいなものができてきてから

実行させるアプリケーションを作るためのコンパイラです(と思ってください)

細かい説明は追々しますが、OSをコンパイルするコンパイラが必要です

(Linux環境のGCCはLinuxをコンパイルできるGCCですのでそれが必要です

この環境を準備しなくても出来る方法もありますので、挑戦してみるのよいかと思います)

またまた

Cygwinをインストールします。(次はCygwinではなくてコンパイラだけです)

まずは下準備です

Cygwinを管理者権限で動かす

Windows Vista以降(7とか)をお使いの方はCygwinを管理者権限で

で動かす必要があります(このインストールをするときだけです。後で元に戻してください)

(Vistaより古いWindowsではこの操作を行う必要はありません)

Cygwinのアイコンを右クリック→互換性タブクリック→管理者として実行にチェック

インストールした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を押してください

ダウンロードサイトを入力する

するとさっきと同じようにセットアップ画面が進んでいきます

User URLにftp://ftp.cygwinports.org/pub/cygwinportsと入力

ダウンロードサイト選択画面でftp://ftp.cygwinports.org/pub/cygwinportsを

入力して”Add”をクリックして次へしてください

クロスコンパイラパッケージを選択する

さっきと同じ手順で

をインストールします。このクロスコンパイラは32ビットコードを生成するコンパイラで、このサイトでは主に

こちらを仕様します。(64ビット環境の方も上記コンパイラーをインストールしておきましょう)。

64ビットのクロスコンパイラは下記をインストールします。(必須ではありません。)

をインストールしてください

All→Develのlinux-x86_64パッケージのbinutils、gcc、gcc-coreを選択

画像は64ビットコード生成用のクロスコンパイラですが、このサイトでは、32ビットコードを主に取り扱います

ので、少し上にあるlinux-i686の32ビット用のGCCをインストールしてください。

(64ビット用クロスコンパイラでも32ビット用コードは生成できます。)

選択した後次へでインストールをしてください

これでOSを作る用のコンパイラ(と実はアセンブラも)インストールできました

inserted by FC2 system