QO3 つかいかた

どうやって辿り付くか知らないけど、定期的に社内でQO3使いかた知りたいとか情報役に立ったとか言われるので、使いかたを書いておこうと思う。

QO3がなんなのかは、
http://d.hatena.ne.jp/w_o/20130223#1361619110
http://d.hatena.ne.jp/tanakmura/searchdiary?word=QO3
あたりを参考にして。

RS-232Cが繋がるマザボとシリアルケーブルを用意

多分一番ハードル高いのがこれだと思う。

もともとの、QO3の精神が、「なんで現代にOS自作するのに、キーボードが8042で、割り込みが8259Aなの?(http://d.hatena.ne.jp/tanakmura/20090601)」みたいなのを初期値としているので、普通の自作OSみたいに、8042を制御して、VGA領域に文字を書く、みたいなのは絶対やりたくなかったんだよね。なので、シリアルケーブルが必須になっている。(RS232Cデバッグなら、現代でも許されるというのも謎だが)


用意したあと、マザボ上のCOMと、開発機のシリアルと接続して、文字の送受信ができることを確認する。

ビルド/実行

make すると(あ、makedependがいるのか。なんで今の時代にmakedependとか使ってんの?) kernel/QO3 ができる。

これは、GRUB の multiboot 対応 ELF なので、GRUBから見えるHDD領域のどこかに置いて、GRUBコンソールから、

> multiboot /boot/QO3 

などとすると起動できる。(確認してないのでちょっと違うかも…あとGRUBコンソールもシリアルから出るようにしておくと色々便利だと思う)

QO3 コンソール

起動すると、"hello QO3!" という文字が、シリアルから見えるはず。APIC必須なので、APICが見付からない場合、FAILと出て、何もできない(まあx86-64も必須だから、APICは確実に付いてると思うが)。動いた場合は、シリアル上に

> 

と表示されるはず。このコンソール上にコマンドを入れると、それが実行される。

使えるコマンドは、

https://github.com/tanakamura/qo3/blob/master/kernel/main.c#L578

あたりを参照。

自分で計測する関数を追加する時も、ここへ追加する。


(コマンド自作編に続く)