dingux 続き2

あめりあです。
dinguxの資材http://code.google.com/p/dingoo-linux/downloads/listをDLついでにソースをcheckoutしてREADME読んでみました。
a320(jz4740)をusb-boot状態(Bボタン+リセット)にしてusbtoolでハード初期化モジュールを0x80000000(RAM先頭)へロード。
更にdual-bootインストーラを0x80600000へロード。ここからローダインストールが始まるとな。。
まず、このusbtoolちゅうのが凄いと思ったんだけど、JZ4740用usbtoolがIngenicのサイトhttp://www.ingenic.cn/eng/productserv/kfyd/compiler/pffaqcontents.aspxでソース公開(Windows用)されているのね。ここからdingux開発陣がlinux/mac用を拡張作成し配布しているのでしょうね。ちゅうのも、dual-boot関連のソースがsvnに見当たらないんで憶測。GP2Xの時はJtagでしかアクセス出来なかった記憶があるんだけど、Bボタン+リセットでusbホストが起動するようa320のフラッシュにファームが焼かれているんだと認識。
ここで不思議に思うのが、dual-bootインストーラを0x80600000へロードした後にインストーラが走る仕組みなんだけど、何だろう、2モジュールロード後に、0x80000000へジャンプし初期化してから0x80600000へジャンプするということなんかな?そして、インストーラの最後にオリジナルファームデフォルト起動かデュアル起動かの選択があるんだけど、デュアルを選ぶと次からa320を起動する際にセレクト+電源スイッチでSDのカーネルイメージがロードされdingux起動という流れらしい。セレクトを押していない場合はデフォルトファームでの起動。ちゅうことは、フラッシュ先頭にSELECTが押されているか否かの判定プログラムが存在し、オリジナルファーム番地へのジャンプまたはSDのカーネルイメージ展開という処理になると推測するんだけど、そうなるとオリジナルファームを移動していることになるので、それはちと違うんじゃないかなぁと思うのです。オリジナルファームは全く弄らずにdingux起動を表現しているように思えるので(flash何番地にローダ仕込むん?みたいな)、そこの仕組みをもうちょっと調べたい。dual-bootインストーラのソースがあれば分かるのですが。。どこかにあるはず。。そいや、dinguxてgp2xmbをランチャに採用しているのですね。gp2xもacアダプタ作ったらopen2x導入しようと思いながら何もしていなかったです。忘れてました。