OS理解への道(自作OSやってみる。)その1

プログラミング知識
スポンサーリンク

これまで組込みS/W開発をしてきましたが、ついに組込みLinuxを扱う必要に迫られ、OSについて学んでいきたいと思います。

教材と環境

川合秀実さんの『30日でできる!OS自作入門』を参考に勉強していきます。10年位前に購入したのですが、積読になっていました。こんなに時間が経って役立つときが来るとは。中身を読むとフロッピーとか出てくるので、最近の環境にあわせて読む必要があります。

Windows11にVirtualBOXを使って勉強していきます。

1日目

では、さっそく学習をスタートさせていきます。

とにかくやるのだぁということで、いきなりバイナリエディタでOSを作っていきます。バイナリエディタはBzEditorを使いました。

こんな感じで168000行目まで作っていきます。helloos.imgという名前で保存しました。

VirtualBOXの準備

作ったOSを動かすための仮想環境を作っていきます。Windows11との相性の問題でVirtualBOX6.1.28以降をインストールしたほうが良いようです。

名前は適当にzosとしました。タイプ、バージョンは下記のとおりです。メモリサイズは64MBにしました。

仮想ハードディスクはVDI、可変サイズ、2.00GBで作成しました。

設定からストレージ→フロッピーを追加しました。

ここで、先ほど作成したhelloos.imgを選択します。これで準備完了です。

起動!!

作成した仮想OSを起動してみます。hello, worldと表示されていれば成功です。終了方法がないので、✖ボタンで終了します。次回からhelloos.imgの中身を勉強していこうと思います。

はまったところ

ストレージでフロッピーを作成して、helloos.imgを選択したとき、読み込みエラーが発生しました。次のコマンドで空ファイルを作成してバイナリエディタで編集していったのですが、どうやら終端まで0で埋められていませんでした。間違って消したのか、コマンドが間違っていたのかはわからないですが、はまりました。

fsutil file createnew helloos.img 1474560

また読み込みは成功したのですが、起動しても何も表示されませんでした。helloos.imgをバイナリエディタで編集するときに間違って入力している個所がありました。すべて見直すのは中々一苦労なので、気を付けて入力するようにしましょう。

参考にしたサイト

30日間OS自作(helloos)をVirtualBoxでやってみた - Qiita
目的 『30日でできる!OS自作入門』のhelloos.imgをvirtualBoxで実行する流れを記述してます。 環境 ・widows10 ・Bz(バイナリエディタ) ゴール VirtualBoxで「helloWorld」...
『30日でできる! OS自作入門』のNASKを汎用アセンブラでかきなおす|かえるのほんだな
今回は、好きな文字列を画面に出力するだけのOSをアセンブラで作ります。今回まとめるのは、1日目の後半から3日目の前半くら

コメント

タイトルとURLをコピーしました