honeylab's blog

各種ハードウェアの改造、主にファミコンミニなどをやってます(ました)

ROM追加ツールの動作について

ツールを作るにあたって、やることを整理するために図にしてみました。

f:id:honeylab:20161230002948p:plain

初期状態では、上のような動作をしています。
起動後、簡単なrootfsで動作して、暗号化されたrootfsをマウントして、switch_rootします。
このrootfsのサブディレクトリにROMツリーがあります。
「/dev/nandbにある暗号化されたrootfsをマウントする」という情報が、Linuxから書き換えにくいNANDの先頭のほうにあるので、ここを触らず、マウントされるrootfsのほうを書き換えることにします。

 

※このページの内容は、私が公開していた書き換えツールに関係する資料で、
現在公開されているhakchiシリーズの動作とは若干異なります。※

f:id:honeylab:20161230002951p:plain

上記のように書き換えます。
この書き換えをするためのLinuxKernel+ファイルシステムを作るのがROM追加ツールになります。
NANDの後半部分はMTDとしてLinuxから普通に触れるようになっていて、
数百メガ余っているため、ここを使ってもともとのrootfsのバックアップも取っておきます。
これにより、内部からROMを吸い出すことなく、あとで戻せるようになります。

ROM追加ツールを使って上記のように太線で囲まれた部分であるrootfsとROMツリーを書き換えてやると、次からは普通に電源を入れるだけで、追加されたROMが認識できるようになるはずです。
NANDのバックアップからのリストアツールも同様に準備する予定です。

 

で、ちょっと気になってるんだけどbootimg内のkey fileってみんな一緒だよね…?
(誰もわからんて…)