ツールを作るにあたって、やることを整理するために図にしてみました。
初期状態では、上のような動作をしています。
起動後、簡単なrootfsで動作して、暗号化されたrootfsをマウントして、switch_rootします。
このrootfsのサブディレクトリにROMツリーがあります。
「/dev/nandbにある暗号化されたrootfsをマウントする」という情報が、Linuxから書き換えにくいNANDの先頭のほうにあるので、ここを触らず、マウントされるrootfsのほうを書き換えることにします。
※このページの内容は、私が公開していた書き換えツールに関係する資料で、
現在公開されているhakchiシリーズの動作とは若干異なります。※
上記のように書き換えます。
この書き換えをするためのLinuxKernel+ファイルシステムを作るのがROM追加ツールになります。
NANDの後半部分はMTDとしてLinuxから普通に触れるようになっていて、
数百メガ余っているため、ここを使ってもともとのrootfsのバックアップも取っておきます。
これにより、内部からROMを吸い出すことなく、あとで戻せるようになります。
ROM追加ツールを使って上記のように太線で囲まれた部分であるrootfsとROMツリーを書き換えてやると、次からは普通に電源を入れるだけで、追加されたROMが認識できるようになるはずです。
NANDのバックアップからのリストアツールも同様に準備する予定です。
で、ちょっと気になってるんだけどbootimg内のkey fileってみんな一緒だよね…?
(誰もわからんて…)