【OS】 自前カーネル開発の準備(仮想マシン編)

何を思い立ったかIA-32ベースの自前組み込み系カーネルを開発すべく実験を始めてみました。
とりあえずx86系プロセッサの最低限の知識はあるしアセンブラも書けるんで、この辺りは問題ない。
となると問題は環境面(ツール面)ですな。
どうやってやるべきかと色々調べてみました。

もちろん、この開発用にPCを用意すれば良いのだけど、開発中に一々別のPC触るのも面倒やし、大体そんな余剰なPCは手元にないので(いや、あるか...LOOXが...coldsweats01)できればシミュレータで済ましたいわけですわ。

普段はWIndowsXPを動かすのにVMwareを使ってるんで、最初の案はVMwareでFDから起動させる事。
今のマシンはFDドライブなんて付いてないんやけど、VMwareならFDイメージから起動できるんで問題なしやなぁ。
周辺デバイスも問題なく使えるし、こりゃええかも。

と、さっそく512ByteのMBR用プログラムを作成して、nasmでアセンブル。
あ、ちなみにnasm 0.99.06は ubuntu 8.04 LTS のパッケージとして提供されています。
パッケージマネージャで、「nasm」で検索すると出てくるはず。
カーネル開発には必須なので、要インストールですわ。

作成したバイナリを先頭に配置したFDイメージを作成する。
ここでは面倒やったので、バイナリエディタ(KHexEdit)を使って 1474560 バイトのファイルを作成してみました。
最初の512バイトに上記のアセンブル結果、後ろ1474048バイトを0埋めしときゃ大丈夫。

できあがったFDイメージファイルをマウントして、さぁ実験...。

こんな感じで、無事MBRから作成したプログラムが起動して左上に青バック、白文

(1/4) 次»

OS
2009/05/13




コメント(0)|コメントを書く

カテゴリー一覧
最近のコメント

新着記事をメールで通知
このブログを友達に教える

待受・4コマ | 有名人・芸能人ブログ | ケータイ占い | ケータイ小説 | ニュース | 掲示板



画面TOP↑



powered by cocolog