みかん本ことOS自作本をやってみた part1

みんな大好きOS自作本を初めて触ってみました。 教科書でOSの仕組みを勉強することはあれど、結局自分で作ったことはない、そんなものの代表例かと思います。

ややこしいところをメモ

基本的には本に書いてあることをやってくだけですが、 最初こんがらがったけど読んでいて整理されたことをメモしておきます。

いろんなコンパイル手順

clang++

これはcのコンパイラです。main.cpp をコンパイルして main.o というオブジェクトファイルを作ります

ld.lld

これはリンカ。.o というオブジェクトファイルをまとめて1つの kernel.elf というファイルにまとめます。

用意されてるコマンド群

コンパイラとリンカは問題なし。

こんがらがったのは build コマンドや buildenv.sh コマンド、run_quemu.sh あたりでしょうか。

というのも、本の中では最初に数回紹介された後、説明がフェードアウトしていくからです。

最初はなんとなく読み進めていたので、これらのコマンドが必要なことに気づかず苦戦しました。

全体を外観できるように図を書いてみました。

f:id:timtoronto634:20220203095248p:plain
4章くらいまでの全体の流れ

その他トラブルシュート

fatal error: 'cstdint' file not found

とエラーが出たときは、ライブラリが見つかってない状態。

対処法がよくわからなかったが、用意されてるshellスクリプトを実行すればとりあえず解決するらしい。

source $HOME/osbook/devenv/buildenv.sh

http://kokorona.com/wp/it/post-1916/