tshimizu's diary

日々の記録

組み込みOS(第1回)

『12ステップで作る組み込みOS自作入門』という本を購入した。


以前から気になってはいたが、なかなか手を出さずにいたら存在を忘れてしまっていた。
再び購入意欲が高まった理由は、今期の大学のOSに関する講義があったこと、そしてバイト先(組み込み系の会社)に置いてあるのを見かけて思い出したから。
また、自分の中で不足しているかつ、欲しい知識として、アプリケーション層未満の階層での知識がある。
これは単純に自分の興味がそそられる部分でもあるし、将来的にもその方向で進んで行きたいという思いが最近大きくなっているからだ。
(あとこの動画を見たのも結構大きい。本当に楽しそうに話すので感動した。)


このような直接何かを作り出さない活動に、今のタイミングで時間を使うはどうかという考えが無いわけではないけど(「もっと実践的にカタチのあるものを作ってやりながら学び、実績を作るほうがいいかもしれない・・・」等)、「知りたい!やりたい!」と直感的に思えたタイミングでやるのが、経験的に一番吸収が良いので今すぐやる。
12ステップ、約500ページで少ない量ではないが、最後までさっさとやり遂げてしまいたいと思う。


ここから本題。
今回は初めてなのでステップ1の環境構築をやる。
現在まともに使えるPCがMacBookPro (Retina 13-inch、Early 2015)しかないのでこれを使う。
環境を作る手順は以下のサイトを参考にさせてもらった。
blog.livedoor.jp
書籍ではmacに関することは書かれていないので非常にありがたかった。


購入したケーブル等はすべて同じものを購入して問題なく使えた。
手順もほぼ同じように進めることができた。
ただし、ブログを書かれた方と使用しているgccの種類と設定等が違うようで、ブログには書かれていないエラーが発生したので少し言及する。


binutilsをビルドするとき

clang: error: unsupported option ‘-print-multi-os-directory'

という表示がされた。
調べてみたところ、このオプション‘-print-multi-os-directory'はコンパイル完了後に設定などをただ表示してくれるだけの機能なので、とりあえず無視したが、結果的に今のところは問題ない。
macgccLLVMでホントのgccじゃない(?)から云々・・・みたいなことが関係していそうだが、進めることを優先したいのでまた今度考えることにする。


以上、トラブルはこの程度で思っていいたよりもスムーズに、ステップ1は終わった。
新しく知ったことは、このブログに書くことを目標にこれから進めて行きたい。



12ステップで作る組込みOS自作入門

12ステップで作る組込みOS自作入門