Boot step in FreeBSD

FreeBSDのブート画面を出してみたい

最初にkernelのソースをいじってPowerPC対応にするのは少し無理があるような気がするので、
まずは、ブート画面だけ でも出るように、FreeBSD-current(ver5.0?)のbootソースをベースに
PowerPC初期化、画面にbootという文字が出るところまで 行かせてみたい。 (現在進行形バイナリ[ofwldr6.elf])
(ブートディスクを探してブートパスを決めるバージョン)
(現在進行形バイナリ[ofwldr8.elf])
(Firewire外付けMOに無理矢理ブートパスをつなげたバージョン)

ところで、ブートプログラムが走る時、システムはどのような 環境になっているのだろうか。まずはそこから勉強です。

勉強するために作ったモニタプログラムを掲載します。
(here(2001-03-09version))
昔の手でプログラムを入力した時代の開発環境が懐かしい方なら 使っていただけると思います。今のところ、
d[ump], m[emory set], g[oto address]
が使えます。それぞれ、
d start-addr stop-addr, m addr data(1byte), g addr
で指定できます。

1. レジスタの割付け

まず、GRP0,GRP1,GRP2は通常、特別な役割を割り付けるようです。
reg役割り
GRP0$0のレジスタ(RISC特有)
GRP1スタックポインタ
GRP2プログラムのスタート番地
GRP3関数の返り値/引数
GRP4関数の返り値/引数
GRP5関数の引数
GRP6関数の引数
GRP7関数の引数

実際にはシステムの初期化はofwboot.elfプログラムに頼り、 カーネルのブートの部分をコーディングすることに
注力 することにします。
(現在工事中)


[To Previous] [To Top] [To Next]