自作OS3日目 Docker上でOSをビルドする
こんにちは。@kz_morita です。
最近は 30 日でできる!OS 自作入門 の本をのんびりとすすめています。情報がやや古いですが OS の仕組みについて自作しながら学べる素晴らしい本だと思います。
30日でできる! OS自作入門 ちなみに新しめの本だた、最近以下の本も発売されたみたいなので、こちらの本で入門されるのも良いかもしれません。
(自分も購入だけして積んであります)
作って理解するOS x86系コンピュータを動かす理論と実装 今回はこの 30 日 OS 自作本の 3 日目で開発環境周りでつまづいたのでそのことについてまとめます。
背景 上記の本(緑の方)は基本的に、Windows 上での開発なのですが、自分は macOS 上で開発を行っていました。
macOS 上(Linux 上)での開発環境の構築などは先人の方々がたくさん Web 情に資料を残してくださっているおかげでわりとすんなり環境構築ができました。
以下のブログや、github が非常に参考になったのでおすすめです。
「30 日でできる! OS 自作入門」を Mac 向けに環境構築する https://github.com/tatsumack/30nichideosjisaku 本ブログでも環境構築の内容を上記のブログ、リポジトリを参考にしながら書いているのでよかったら参考にしてみてください。
「30 日でできる!OS 自作入門」の準備
1, 2 日目は、スムーズにうまく行くのですが、3 日目に C 言語を導入する時に C 言語のコンパイル(リンカ)周りでつまづきました。
30 日でできる!OS 自作入門(3日目)Ubuntu16.04/NASM 上記の方の記事やリポジトリはすごく参考になったのですが、hrb ファイルを作成する際に gcc の -T オプションをつかってリンカスクリプトを書くことで OS をビルドしていました。
この手順通り進めていこうと思ったのですが、macOS で標準で入っている C コンパイラである clang には -T オプションがない模様です。