上野家のホームページ
ナーマル,マリン,ココ
[
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
携帯電話/SC-02B/Android/ブートとパーティション
のソース
資料室
携帯電話
/
SC-02B
/
Android
/
ブートとパーティション
のソース
[
差分
|
バックアップ
|
リロード
]
[ ]
差分
を表示
携帯電話/SC-02B/Android/ブートとパーティション
へ行く。
« Prev
*ブートとパーティション [#z64256a3] **ブートモード [#ba42054d] ***Download Mode [#mdb427b1] VOL DOWN+HOME+POWERを同時に押し続ける。~ ずーと押していると,三角の中に工事しているdoroid君が表示されて,「Downloading...」と表示が出てDownload Modeに入れる。~ POWERボタンを押し続けると(8s以上),Download Modeから抜けてリブートする。 新しいROMやカスタムROMなんかをインストールするときに使われる。OdinでFlash ROMを書き換える場合も,このモードを使用する。 ***Recovery Mode [#y31b8483] VOL UP+HOME+POWERを同時に押し続ける。~ しばらく押していると画面が消えてロゴが出るんで,POWERを離すと,Recovery Modeに入れる。Recovery Modeから抜けるには,メニューから「reboot system now」を選択する。~ Recovery Mode中では,VOL UP・DOWNで選択,HOMEで決定。 adbからだと, adb reboot recovery SC-02Bのterminalからだと, reboot recovery でも,Recoveryモードに入れる。 標準Recoveryの機能としては, -reboot~ リブートさせる -apply sdcard:update.zip~ sdcard:update.zipを書きこむ -wipe data/factory reset~ /dataパーテーションの中身を削除。工場出荷時の設定に復元。 -wipe cache partition~ cacheパーテーションの中身を削除する。 Flash ROMのバックアップは出来ないんで,カスタムRecoveryであるClockwork recoveryに変更した方が便利になる。 **パーティション [#rc4a6306] |パーティション|サイズ|説明|h |bml1|256KB|プライマリ・ブート・ローダー (boot.bin)| |bml2|256KB|PITファイル(最初の512byteを使用)ROMのパーテション情報| |bml3|6400KB|/efs /dev/block/stl3(efs.rfs) IMEIとかの情報| |bml4|1280KB|セカンダリ・ブート・ローダー linuxカーネルのロード等(Sbl.bin)| |bml5|1280KB|セカンダリ・ブート・ローダー(リカバリ,その他)| |bml6|1280KB|スプラッシュ画像なんかが入っている /mnt/.lfs /dev/block/stl6(param.lfs)| |bml7|7680KB|Linuxカーネル(zImage=kernel+initramfs)| |bml8|7680KB|?| |bml9|293376KB|/system /dev/block/stl9(factoryfs.rfs) システム| |bml10|137216KB|/dbdata /dev/block/stl10(dbdata.rfs) パーソナルデータ| |bml11|35840KB|/cache /dev/block/stl11(cache.rfs)アプリ・キャシュ| |bml12|16384KB|(modem.bin) 電話用CPUファームウェア| SC-02B(Galaxy S)では,cacheパーテーションなんかに内蔵Strage(NAND Memory)を使っているんだけど,ファイルシステムとしてはSamsung独自のRFSっていうのを使っているようだ。FATの拡張のようだが,どうもパフォーマンスが良くないのか,たまに端末の反応がなくなることがある。EXT4に変更すると,パフォーマンスが上がるみたいだ。 **FlashROMのパーテーションのバックアップ [#qd940ffc] adbからかSC-02Bのterminal等を使って,以下のコマンドでバックアップする # cd /sdcard/flashbackup # dd if=/dev/block/bml1 of=boot.bin # dd if=/dev/block/bml2 of=sc02bomkf2.pit # dd if=/dev/block/bml4 of=sbl.bin # dd if=/dev/block/bml5 of=recovery # dd if=/dev/block/stl6 of=param.lfs # dd if=/dev/block/bml7 of=zImage # dd if=/dev/block/stl9 of=factoryfs.rfs # dd if=/dev/block/stl10 of=dbdata.rfs # dd if=/dev/block/stl11 of=cache.rfs # dd if=/dev/block/bml12 of=modem.bin PCにコピーする > adb pull /sdcard/flashbackup/ . バックアップしたファイルを使って,odin3で書き換えができるようにファイルを作成しておく。 > tar --format=ustar -cf SC02BOMKF2.tar zImage param.lfs dbdata.rfs factoryfs.rfs cache.rfs > md5sum -t SC02BOMKF2.tar >> SC02BOMKF2.tar > mv SC02BOMKF2.tar SC02BOMKF2.tar.md5 > > tar --format=ustar -cf MODEM_SC02BOMKF2.tar modem.bin > md5sum -t MODEM_SC02BOMKF2.tar >> MODEM_SC02BOMKF2.tar > mv MODEM_SC02BOMKF2.tar MODEM_SC02BOMKF2.tar.md5 **PCでバックアップしたイメージをマウント [#id0bde55] バックアップしたイメージをマウントして内容を確認できる。 mount -o loop,rw factoryfs.rfs /mnt/backupimage/ *ROMのハードウェア [#na4fdeac] SC-02Bには,512MBのNAND(OneNAND)Flash Memoryと16GBのeMMC((懐かしいメモリ。まあ,SDと同じです。))が搭載されている。~ 各ROMのパーテーション情報。 |512MB ROM|||h |300MB|/system|rfs| |100MB|/dbdata|rfs| |30MB|/cache|rfs| |16GB eMMC ROM|||h |1.8GB|/data|rfs| |14GB|/sdcard|fat32| **eMMCのバックアップ [#x1e7444b] -/sdcardのバックアップ~ 端末上で, # cd /sdcard # tar cfz /sdcard/external_sd/internal_sd.tar.gz ./ --exclude "external_sd" で,MicroSDにinternel_sd.tar.gzのファイルにバックアップをする。 -/dataのバックアップ~ 同様に端末上で, # tar cvfz /sdcard/external_sd/data.tar.gz /data で,MicroSDにdata.tar.gzファイルにバックアップする。 **パーテーションの再設定 [#af4988df] なにげにfdiskをしてみたら,内蔵MMCのパーテーションが /dev/block/mmcblk0p1 5 1672704 13381600 83 Linux Partition 1 does not end on cylinder boundary /dev/block/mmcblk0p2 1672705 1918464 1966080 83 Linux Partition 2 does not end on cylinder boundary /dev/block/mmcblk0p3 1918465 1944064 204800 83 Linux Partition 3 does not end on cylinder boundary ''Partition 1 does not end on cylinder boundary''っていう警告を出している。たぶん動作に問題はないと思うが,多少パフォーマンスが落ちるのかも。なんとなく気持ちが悪いんで修正してみた。 adb shellして,fdiskを使って以下のようにパーテーションを再設定する。 # fdisk /dev/block/mmcblk0 以下のようになるように,全部のパーテションを削除し,全く同じStartとEndにして再度書きこむ。 Device Boot Start End Blocks Id System /dev/block/mmcblk0p1 5 1672704 13381600 83 Linux /dev/block/mmcblk0p2 1672705 1918464 1966080 83 Linux /dev/block/mmcblk0p3 1918465 1944064 204800 83 Linux 全く同じ位置・サイズにすると中のデータは破壊されないようだ。
« Prev
携帯電話/SC-02B/Android/ブートとパーティション のバックアップ一覧
携帯電話/SC-02B/Android/ブートとパーティション のバックアップソース(No. All)
1: 2011-06-08 (水) 03:52:34
yuji
現: 2020-12-26 (土) 16:07:38
yuji
Counter: 862, today: 1, yesterday: 0
Copyright©2008 Yuji Ueno All Rights Reserved.
ログイン
ユーザ名:
パスワード:
IDとパスワードを記憶
パスワード紛失
メインメニュー
ホーム
でぶlog
資料室
最新ページ一覧
全ページ一覧
ヘルプ
» 関連ページ
» Wikiソース
» 編集履歴
» バックアップ一覧
» 添付ファイル一覧
フォーラム
お問い合わせ