15_RM-AT700MKでSDに

RM-AT700MKでSDカードにアプリを移動する

~ /sdcardと/ext_sdのマウントを入れ換える方法(root化不要) ~

【前段】

スペックがしょぼい為に色々と酷評されてますが、肝心のナビアプリは使い物になります。

ただ、しゃべりはミクっぽくありませんが。。。

ナビ以外は一応普通のAndroidタブレットなので、軽いゲームやkobo等の電子書籍アプリを入れて使う分には問題がありません。で、ほいほいアプリを入れてたら容量不足のエラーが・・・。

32GBのmicroSDがもう一杯なのかと確認してみると、全然使われていないではないか(怒)

ん?でもSDに移せるアプリは全部移したはず・・・どうなってるんだ?

と、よくよく確認してみると・・・あんですとー!

Androidでは本来SDカードを挿すと自動または手動で/mnt/sdcardにマウントされるのはずなのだが、そこが内臓SSDの別区画というオチ。んじゃぁ、microSDはどこにマウントされているかというと/mnt/ext_sdになってた。OS側からは、/mnt/sdcardにしかアプリを移動できないので、/mnt/ext_sdはただのデータディレクトリとしてしか使えないという事に・・・_no

だったら、/sdcardと/ext_sdのマウントを入れ換えれば良いじゃない?

と、いう事でやってみた。

【重要】

・ここに記載の内容の実施にあたっては、くれぐれも自己責任でお願いします。

・最悪システムを破壊したりメーカーの修理が受けられない場合がありますのでご注意下さい。

・この手順実施後は、起動中にmicroSDの抜き差しを絶対にしなようにして下さい。

【前準備】

・まずは、PCに下記のソフトを入れる。括弧内は参考までに私が実際に使用したファイルです。

Java JDK(jdk-7u25-windows-x64.exe)

→普通にインストールするだけです。

Android SDK(adt-bundle-windows-x86_64-20130522.zip、android-sdk_r22.0.1-windows.zip)

→解凍後、「SDK Manager」を起動ししてExtras配下の「Google USB Driver」にチェックを入れてインストールする。要は「usb_driver」配下と、「sdk-platform-tools」配下の「 adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll」の3ファイルがあれば良いです。

・RM-AT700MKの「設定-アプリ」で、事前に各アプリでUSBストレージ側に移動してあるものは端末側に戻しておく。

・RM-AT700MKでUSBをデバッグモードに設定する。

・RM-AT700MKスリープ設定を切っておく。

・RM-AT700MKをPCにUSBで接続する。

・PCのDOS窓から「adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll」が格納しているディレクトリにカレントを移動してから「adb devices」を実行し、PCとの接続を確認する。

---

List of devices attached

xxxxxxxxxxxxxxxxxxxx device

---

・deviceが表示されない場合は、不明なデバイスとなっているので、ドライバをインストールする必要がある。

AndroidSDK内のandroid-sdk-windows\extras\google\usb_driverのandroid_winusb.infを開き、RM-AT700MKを追加(赤字部分)して保存する。

---

;

; Android WinUsb driver installation.

;

[Version]

Signature = "$Windows NT$"

Class = AndroidUsbDeviceClass

ClassGuid = {3F966BD9-FA04-4ec5-991C-D326973B5128}

Provider = %ProviderName%

DriverVer = 08/27/2012,7.0.0000.00001

CatalogFile.NTx86 = androidwinusb86.cat

CatalogFile.NTamd64 = androidwinusba64.cat

[ClassInstall32]

Addreg = AndroidWinUsbClassReg

[AndroidWinUsbClassReg]

HKR,,,0,%ClassName%

HKR,,Icon,,-1

[Manufacturer]

%ProviderName% = Google, NTx86, NTamd64

[Google.NTx86]

;Google Nexus One

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02&MI_01

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E11

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E12&MI_01

;Google Nexus S

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E21

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E22&MI_01

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E23

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E24&MI_01

;Google Nexus 7

%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4E40

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E41

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E42

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E42&MI_01

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E44&MI_01

;Google Nexus Q

%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_2C10

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_2C11

;Google Nexus (generic)

%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4EE0

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE1

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE2

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE2&MI_01

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE3

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE4&MI_01

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE5

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE6&MI_01

;RWC RM-AT700MK

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_DEED

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_DEED&MI_01

[Google.NTamd64]

;Google Nexus One

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02&MI_01

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E11

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E12&MI_01

;Google Nexus S

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E21

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E22&MI_01

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E23

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E24&MI_01

;Google Nexus 7

%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4E40

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E41

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E42

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E42&MI_01

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E44&MI_01

;Google Nexus Q

%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_2C10

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_2C11

;Google Nexus (generic)

%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4EE0

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE1

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE2

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE2&MI_01

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE3

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE4&MI_01

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE5

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE6&MI_01

;RWC RM-AT700MK

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_DEED

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_DEED&MI_01

[USB_Install]

Include = winusb.inf

Needs = WINUSB.NT

[USB_Install.Services]

Include = winusb.inf

AddService = WinUSB,0x00000002,WinUSB_ServiceInstall

[WinUSB_ServiceInstall]

DisplayName = %WinUSB_SvcDesc%

ServiceType = 1

StartType = 3

ErrorControl = 1

ServiceBinary = %12%\WinUSB.sys

[USB_Install.Wdf]

KmdfService = WINUSB, WinUSB_Install

[WinUSB_Install]

KmdfLibraryVersion = 1.9

[USB_Install.HW]

AddReg = Dev_AddReg

[Dev_AddReg]

HKR,,DeviceInterfaceGUIDs,0x10000,"{F72FE0D4-CBCB-407d-8814-9ED673D0DD6B}"

[USB_Install.CoInstallers]

AddReg = CoInstallers_AddReg

CopyFiles = CoInstallers_CopyFiles

[CoInstallers_AddReg]

HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01009.dll,WdfCoInstaller","WinUSBCoInstaller2.dll"

[CoInstallers_CopyFiles]

WinUSBCoInstaller2.dll

WdfCoInstaller01009.dll

[DestinationDirs]

CoInstallers_CopyFiles=11

[SourceDisksNames]

1 = %DISK_NAME%,,,\i386

2 = %DISK_NAME%,,,\amd64

[SourceDisksFiles.x86]

WinUSBCoInstaller2.dll = 1

WdfCoInstaller01009.dll = 1

[SourceDisksFiles.amd64]

WinUSBCoInstaller2.dll = 2

WdfCoInstaller01009.dll = 2

[Strings]

ProviderName = "Google, Inc."

SingleAdbInterface = "Android ADB Interface"

CompositeAdbInterface = "Android Composite ADB Interface"

SingleBootLoaderInterface = "Android Bootloader Interface"

WinUSB_SvcDesc = "Android USB Driver"

DISK_NAME = "Android WinUsb installation disk"

ClassName = "Android Device"

---

・デバイスマネージャから不明なデバイスを選択し、上記android_winusb.infを指定しドライバをインストールする。

※途中で警告が出るが構わず入れる。

・再度、adb deviceを実行し、deviceが表示されればOK!

【手順】

・PCのDOS窓から下記コマンドを順番に実行し、/systemをrwで再マウントする。

※この手順を実行しないと書込み権限が無い為、/etc/vold.fstabの編集が出来ません。

adb shell

su

mount -o rw,remount /dev/block/ndda2 /system

mount

・mount(引数無し)実行後に下記表示(roになっていない事)があればOK!

/dev/block/ndda2 /system ext4 rw,relatime,barrier=1,data=ordered 0 0

・先程のDOS窓から下記コマンドを順番に実行し、vold.fstabのバックアップする。

※cpコマンドが無いので、catコマンドのリダイレクトで代用。

cd /etc

mv vold.fstab vold.fstab_org

cat vold.fstab_org > vold.fstab

・exitコマンド2回実行してadb shellから抜けます(DOSに戻る)。

・RM-AT700MKのESエクスプローラー(viコマンドが無い為)から/etc/vold.fstabを開き、下記のように編集(赤字部分を追加)し保存する。

---

# Internal SD card

#dev_mount sdcard /mnt/sdcard 11 /devices/virtual/block/ndda

dev_mount sdcard /mnt/sdcard auto /devices/platform/tcc-sdhc

# External SD card

#dev_mount ext_sd /mnt/ext_sd auto /devices/platform/tcc-sdhc

dev_mount ext_sd /mnt/ext_sd auto /devices/virtual/block/ndda

# External USB storage

dev_mount usb_sda /mnt/usb_sda1 all /devices/platform/dwc_otg /devices/platform/tcc-ohci /devices/platform/tcc-ehci

dev_mount usb_sdb /mnt/usb_sdb1 all /devices/platform/dwc_otg /devices/platform/tcc-ohci /devices/platform/tcc-ehci

---

・RM-AT700MKを再起動する。

・先程のDOS窓から下記コマンドを順番に実行し、/mnt/sdcardと/mnt/ext_sdのマウント先の容量を確認(赤字部分)する。

無事、/mnt/sdcardの容量がRM-AT700MKに挿したmicroSDの容量になっていればOK!

adb shell

df

---

shell@android:/ # df

df

Filesystem Size Used Free Blksize

/dev 185M 32K 185M 4096

/mnt/asec 185M 0K 185M 4096

/mnt/tmp 185M 0K 185M 4096

/mnt/obb 185M 0K 185M 4096

/system 295M 288M 6M 4096

/data 1007M 279M 728M 4096

/cache 147M 4M 143M 4096

/mnt/ext_sd 6G 6G 112M 16384

/mnt/sdcard 29G 5G 23G 32768

/mnt/secure/asec 29G 5G 23G 32768

/mnt/asec/com.kobobooks.android-1 40M 38M 2M 16384

/mnt/asec/kemco.wws.soe-1 34M 32M 2M 16384

/mnt/asec/com.natenai.glowhockey2proamazon-1 19M 17M 1M 16384

/mnt/asec/jp.co.zoo.mahjong.amazon-1 7M 5M 1M 16384

/mnt/asec/com.mobileroadie.app_1122-1 5M 3M 1M 16384

/mnt/asec/com.a0soft.gphone.app2sd-1 4M 2M 1M 16384

shell@android:/ #

---

・RM-AT700MKの設定-アプリで各アプリで、USBストレージ側に移動出来るものは移動する。

・RM-AT700MKESエクスプローラーで/mnt/sd_ext/mikunavi等の必要なものを/mnt/sdcardにコピーする。

・ミクナビや各アプリ動作を確認する。

・ミクナビの動作は軽く確認したが、他のアプリは一部動作しないものがあるかも。

・/mnt/ext_sd配下でもともと入っていたもの(mikunavi等)は削除しないよう注意が必要。

・動作がおかしいアプリは再インストールで正常動作する場合もあり。

・データが吹っ飛ぶ可能性があるので、microSDの抜き差しを起動中には絶対にしない事!

これで容量の心配をしないで良くなった(^_^v