GP2Xdev:Backup

過去の記録を閲覧用に保存しています。投稿・編集はできません。一部の旧記法・画像や HTML の表示は再現されていません。同名ページは候補から選択してください。

GP2Xdev:TOP

バックアップで構造を理解しよう


GP2X ファームウェアのバックアップを取ることで内部構造の理解を深めます。

それよりもバックアップ取らないとなんか怖いので。



バックアップの必要性


GP2X には「ユーティリティー」という SDカード内のファイルを実行する機能があります。

主にアップデート等に使われるのですが、この時に実行される .gpu ファイルはスクリプトです。

どんな感じになっているのかライブラリインストーラの .gpu ファイルを見てみましょう。

> #/bin/sh

> tar -zxvf /mnt/sd/install_libs.tar.gz -C /

> cd /usr/gp2x

> ./gp2xmenu

わかりやすい内容に笑う以上にぎょっとしたあなたは正解。

メモリ内のシステムファイルに簡単に書き込みができるのです。



この場合 SDL の追加ライブラリという見通しの立つものでしたが、今後同じようにインストールするアイテムがあったとして、それが元でシステムが不調になることも考えられます。

それより悪意のあるインストーラがシステムを破壊することも容易なのがわかるでしょうか。



ということでシステムのバックアップを取る方法を考えます。

それを通して GP2X のシステム構造をかいま見ましょう。



システム構造を覗き見る


まずはシステムの構成が知りたいところであります。

そこで、dir.gpu という下記のようなスクリプトを実行してみました。

> #/bin/sh

> ls -lR / > /mnt/sd/directory.txt

> cd /usr/gp2x

> ./gp2xmenu

これを実行することで SDカードのルートに directory.txt というテキストファイルが作成されています。

http://www.fumi2kick.com/gp2x/directory.txt

これを見ることでディレクトリ構成と存在しているコマンドとライブラリが把握できます。



バックアップを取る


ここまで来ればバックアップの取り方も容易でしょう。

backup_fw.gpu という名前の以下のようなスクリプトを容易して実行します。

> #/bin/sh

> echo FW backup ...

> tar -C / -cf /mnt/sd/backup/fw_bkup.tar bin etc home lib root sbin usr var

> sync

> sync

> sync

> cd /usr/gp2x

> ./gp2xmenu

sync はまあおまじないということで。

tar に z オプションをつけて .tar.gz を生成することもできますが、あまりにも時間がかかるので挫けること必須です。



実際このバックアップが役に立つことは無いとは思いますがまあ念のため。

また、バックアップファイルを解凍してファイル構造を眺めるのも良い物です。