OS自作(1日目)〜30日で作っちゃうアレ〜

はじめに

開発環境は Mac です。
仮想環境は QEMU がなぜか動いてくれないので,VirtualBoxでやります。
VirtualBox日本オラクル | Integrated Cloud Applications and Platform Servicesからダウンロード&インストール。

hello world!

起動すると hello world が表示されるだけのを作ってみる。


まずはディスクイメージの作成から。
はじめに 0 埋めのディスクイメージ(FDサイズ)を作成する。

dd bs=1k if=/dev/zero of=./test.img count=1440

bs(ブロックサイズ) * count = size って計算(なはず).
詳しくはhttp://www.linux.or.jp/JM/html/GNU_fileutils/man1/dd.1.html


このファイルにバイナリエディタを用いて,本の 14 〜 16 ページのようにゴリゴリと書いていきます。
バイナリエディタは [:title] を使用。

バイナリエディタで編集するときに,

  • 入力した文字がカーソル位置のデータを「上書き」する
  • 入力した文字がその位置に「挿入」され,カーソル位置以降のデータが後ろにずれていく

かどうかに気をつけないと,入力ミスに気づかなかったり,ディスクイメージがずれたりと困るので注意。


次に実際にVirtualBox から起動する。

(メイン画面)
新規

(新規仮想マシンの作成)
[ようこそ新規仮想マシン作成ウィザードへ!]
次へ

[仮想マシン名とOSタイプ]
名前は好きなものを入力(今回は yurios で!)。
タイプはどれでもいい(が,Other , Other/Unknown が無難かと思う)。
次へ

[メモリ]
初期の 64MB でいいかと。後で変更できるので。
次へ

[仮想ハードディスク]
常に FD から起動するので,起動ディスク(プライマリーマスター)のチェックはずす
次へ(アラート出る「続ける」)

[概要]
完了


これで仮想マシンの作成は完了。


次に FD 起動のための設定をする。
メイン画面

さきほど作った仮想マシンを選択

メニュー「設定」

ストレージ

フロッピー

「フロッピードライブのマウント」にチェック。

「イメージファイル」を選択。先ほど作ったディスクイメージを選択。

OK


これで準備万端。
メイン画面より仮想マシンを起動。
(もしかしたら初回起動ウィザードなるものがでてくるかもしれませんが,多分無視して大丈夫)

起動後,「hello world」が表示されればOK!
終了するときは「×ボタン→仮想マシンの電源オフ」で大丈夫(だと思う)。

やったこと

FD サイズ(1474560バイト)のファイルを作成

そのファイルにバイナリエディタでゴリゴリと書き込む

そのファイルを FDイメージと見立てて,VirtualBox で起動。

hello world