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