【OS】 自前カーネル開発の準備(仮想マシン編)何を思い立ったかIA-32ベースの自前組み込み系カーネルを開発すべく実験を始めてみました。
とりあえずx86系プロセッサの最低限の知識はあるしアセンブラも書けるんで、この辺りは問題ない。
となると問題は環境面(ツール面)ですな。
どうやってやるべきかと色々調べてみました。
もちろん、この開発用にPCを用意すれば良いのだけど、開発中に一々別のPC触るのも面倒やし、大体そんな余剰なPCは手元にないので(いや、あるか...LOOXが...
)できればシミュレータで済ましたいわけですわ。
普段は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) 次»
コメント(0)|コメントを書く
カテゴリー一覧
最近のコメント
新着記事をメールで通知
このブログを友達に教える