低レイヤーから攻めるキャンペーンということでOSの勉強を始めました。
タイトルの本で勉強を始めましたが、入門するまでに環境構築でハマったポイントを共有します。
最終的に動いた環境
MacBookPro 16インチ 2019 Bigsur
Bootcamp Windows10
VirtualBox v6.1
CentOS
マシンはMacです。gccなどのインストールで躓くことは容易に予想ができたため、公式で紹介されているVMイメージを使うことにしました。
VirtualBoxをインストールしてVMイメージを立ち上げたところ、Xwindowを起動すると極端に重く、数回操作をするとフリーズしてしまうためダメでした。調べたところによるとRetinaモデルだと解像度のスケーリングがうまくいかないようです。
続いてBootCampからWindows10を立ち上げて、その中でVirtualBoxをインストールしてVMイメージを立ち上げました。今度はうまくいきました。
ただこのイメージはCentOS6系で、サポートが終了しているらしく、yumでのパッケージインストールに失敗するようでした。(回避する方法もあるようですが自己責任なようです。)
ソースをMakeしてH8writeを使ってH8にいざ書き込もうとしたところ、書き込み命令の途中でハングしてしまいました。ケーブルの相性か?とも思ったのですが、kz_h8writeを使って書き込みにトライしたところ今度はうまく書き込めました。
使用したUSBシリアル変換ケーブルはこちらです。
https://akizukidenshi.com/catalog/g/gM-02746/
書き込み先デバイスはdev/ttyUSB0 で行けました。
ケーブルのドライバは付属のCDROMを使いました。(VMの設定からUSBシリアルを有効にするのをお忘れなく)
続いてminicomを起動してH8との通信を試しました。
書籍にある通りポートとボーレートを変更します。
そしてついにHelloWorldできました。
ようやく組み込みOSの自作に入門ができました。
ここから写経したりコードを読み解いたりしていこうと思います。
事前にPICマイコンやArduinoを触っていた知識が環境構築に役に立ちました。これがなかったら何をやっているのかわからなさすぎて挫折していたと思います。