LiMo WikiWiki page -- Wiki トピック一覧 / 同一トピック掲示板 / 掲示板
編集
掲示板で返信
新規トピック WikiPage の作成

GP2Xdev:Backup

Since : Jan.06.2006 21:08'18
LastModify : Jan.07.2006 06:09'28

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 を生成することもできますが、あまりにも時間がかかるので挫けること必須です。

実際このバックアップが役に立つことは無いとは思いますがまあ念のため。
また、バックアップファイルを解凍してファイル構造を眺めるのも良い物です。


LiMo BBS System - WikiWiki Page
$Id: lmwiki.rhtml,v 1.4 2003/05/17 17:19:11 rero2 Exp $