Feed

使わないワンセグの領域をデータ領域に割り当てる

Posted on 8月 21st, 2014 in 店長日記 by 店長

前回、L01Fのパーテーションを切り直したわけですが、手順について書いておきます。

LinuxではGpartedを使って、簡単にGUIでパーテーションを切ることが出来ますが
androidではGpartedが使えません。代わりにpartedを使えば、パーテーションを
コマンドラインでいじれるようになります。

pertedの入手

partedのバイナリはCyanogenModのandroid_bootable_recoveryから入手できます。
https://github.com/CyanogenMod/android_bootable_recovery/tree/cm-11.0/utilities
partedをクリックして、右の方のRawをクリックすればダウンロードできます。
Screenshot-android_bootable_recovery-parted at cm-11.0 · CyanogenMod-android_bootable_recovery · GitHub - Google Chrome

ダウンロードしたpartedをadb pushなり、rootexplorerなりで/sbinにコピーします。
パーミッションは755に変更しておきます。

partedの起動

$ adb shell
$ su -
# parted /dev/block/mmcblk0

GNU Parted 1.8.8.1.179-aef3
Using /dev/block/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)

(parted)の後にpもしくはprintと入力すれば現在のパーテーションの状態が
表示されます。L01Fなら38個あり、それぞれに名前がついています。
後で必要となりますので、メモ帳なりにコピーして保存しておきます。

partedの基本的な使い方

パーテーションを削除する
(parted) rm 番号
28番を削除するなら
(parted) rm 28

パーテーションの作成
(parted) mkpart primary 開始位置 終了位置
(parted) mkpart primary 436 585

パーテーションに名前をつける
(parted) name 番号 名前
28番をOneSegにするなら
(parted) name 28 OneSeg

終了する時は
(parted) quit

※以下の作業は危険を伴いますので、作業される方は自己責任でおねがいします。
データはすべて消えるので、PCに確実にバックアップしておきます。

ここから実際にワンセグ領域を縮めてuserdata領域を大きくする作業です。

まずは位置の計算です。容量を間違えないように慎重に。
28番 開始436 終了585
29番 開始585 終了586
30番 開始586 終了587.05
31番 開始587.05 終了588.10
32番 開始588.10 終了588.11
33番 開始602 終了4360
34番 開始4360 終了5534
35番 開始5534 終了5618
36番 開始5618 終了5635
37番 開始5635 終了31.3GB

リカバリモードで端末を起動します。

# adb reboot recovery
$ adb shell
# parted /dev/block/mmcblk0

GNU Parted 1.8.8.1.179-aef3
Using /dev/block/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p

28番のワンセグのパーテーションを削除して縮小します。

(parted) rm 28
rm 28
(parted) mkpart primary 436 585
mkpart primary 436 585
(parted) name 28 OneSeg
name 28 OneSeg

29番から37番のパーテーションを削除して先ほど計算した位置に
切り直します。

(parted) rm 29
rm 29
(parted) mkpart primary 585 586
mkpart primary 585 586
(parted) name 29 dbibak
name 29 dbibak

(parted) rm 30
rm 30
(parted) mkpart primary 586 587.05
mkpart primary 586 587.05
(parted) name 30 rpmbak
name 30 rpmbak

(parted) rm 31
rm 31
(parted) mkpart primary 587.05 588.10
mkpart primary 587.05 588.10
(parted) name 31 tzbak
name 31 tzbak

(parted) rm 32
rm 32
(parted) mkpart primary 588.06 588.07
mkpart primary 588.10 588.11
(parted) name 32 rct
name 32 rct

(parted) rm 33
rm 33
(parted) mkpart primary 602 4360
mkpart primary 602 4360
(parted) name 33 system
name 33 system

(parted) rm 34
rm 34
(parted) mkpart primary 4360 5534
mkpart primary 4360 5534
(parted) name 34 cache
name 34 cache

(parted) rm 35
rm 35
(parted) mkpart primary 5534 5618
mkpart primary 5534 5618
(parted) name 35 tombstones
name 35 tombstones

(parted) rm 36
rm 36
(parted) mkpart primary 5618 5635
mkpart primary 5618 5635
(parted) name 36 spare
name 36 spare

(parted) rm 37
rm 37
(parted) mkpart primary 5635 31.3GB
mkpart primary 5635 31.3GB
(parted) name 37 userdata
name 37 userdata
(parted) quit
quit
#

以上でパーテーションの切り直しが終了しました。
再度

# parted /dev/block/mmcblk

でちゃんと出来てるか確認します。OKなら次に進みます。

次に28番、33番、34番、37番をext4でフォーマットします。

# mke2fs -t ext4 /dev/block/mmcblk0p28
# mke2fs -t ext4 /dev/block/mmcblk0p33
# mke2fs -t ext4 /dev/block/mmcblk0p34
# mke2fs -t ext4 /dev/block/mmcblk0p37

再び

# parted /dev/block/mmcblk

でちゃんと出来てるか確認します。
サイズ、名前、フォーマットがちゃんとできたら終了。

この時点で、/system,/data,/cacheがフォーマットされたので
リカバリモードを終了したら、起動しません。

新しく、インストールするromをadb pushで送り込む必要があります。
CWMが認識するフォルダーは/data/media/0となります。
# adb push rom名.zip /data/media/0

送り込んだら、CWMからインストールして、再起動。
ちゃんと起動すればOKです。

ワンセグの領域が開放されて、data領域が3GB増えました。

(関連記事)

 


トラックバック URL

コメントはまだありません

最初のコメントをどうぞ!

コメントをどうぞ

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)