ノートン体験板バナー
2013年12月28日土曜日

Xperia LT26w(SO-03D) feat. HATSUNE MIKU

スポンサーリンク

------------------------------------------

先日 SO-04E MIKUさんを触る機会があったのでLT26wに少しいたずらをしてみた。

MIKU関係のファイルなどは2013年9月の時点で、既にXDAの方に上がっていたようですね。
■参考サイト
   むしさんのたわごと様 こちら
   HTC速報様 こちら
   XDA Tad-Liou 様 こちら
   XDA YCx様    こちら
まずは先人の方々に感謝申し上げます。大変参考になりましたありがとう御座います。

端末弄りは自己責任で
■環境
・rooted+CWMrecovery LT26w FW.96 
 さらに以前の記事の状態(ドコモメール対応済み)であること

まずはXDAのこちらから下記ファイルをいただく
・flashable_miku_framework.zip(端末もしくはSDcardに保存)
・Miku_apps.zip(解凍して端末もしくはSDcardに保存)
1.build.propの変更
ro.product.name=SO-04E_1276-9922
に変更する。
2.flashable_miku_framework.zipをCWMからインストール

3.保存したMiku_apps.zip
 ・com.mikuxperia.featuresongsplayerapp-1.apk
 ・com.mikuxperia.findyourmikucontent-1.apk
 ・com.mikuxperia.mikualarmapp-1.apk
 ・com.mikuxperia.mikuhomeapp-1.apk
 ・com.mikuxperia.mikunewsapp-1.apk
 ・com.mikuxperia.mikuweatherwidget-1.apk


上記アプリを手動でインストールするようです。

すると私の環境では、Miku HomeとMiku WP ChangerとFined Your Mikuが使用できませんでした。
Miku Homeに関してはOS4.2だけの対応のようで、貼り付けたウィジェットを長押しすると強制終了します。ウイジェットをいじらなければある程度は使えるのかもしれません。
パノラマ壁紙を使用すると動作重たくなる。
OS 4.2からウィジェットの拡張機能がついたのでそれが原因かもしれませんが、、、私には知識も何もないのでここまで。

Miku WP Changerは読み込み中がエンドレス

Fined Your Mikuは認証に失敗しましたと表示される状態。
先ほどのXDAリンクを見てみると

Fined Your Mikuが動作しない場合は、一度アンインストールして、googleplayよりMarketEnablerをインストールしてプロバイダーを44110にする、Google playのデータを削除したあとで

6.chick here enjoy find your miku!


上のhereをクリック。試していないのでわからない。

Miku Homeが駄目ならということで、docomoさんのHomeを少しだけ





ミク様一色で御座います。目障りなキャラがうろちょろします。





明日は雪が降るようで寒くなります。


mikuデコメ、Poboxキセカエ

↓Miku Home

 



Miku Homeはかっこええです。当然ですが、docomoさんのHomeとは比にならんですな。
対応がOS4.2以上なのが残念と言いますか、SO-04E Mikuを買えと言うことですね。



 Fined Your Miku


sdcard/android/obb/com.mikuxperia.findyourmikucontent/にmain.3.com.mikuxperia.findyourmikucontent.obb(217MB)というファイルがないと見れませんでした。ん~強制終了される。

 Miku WP Changer


bootanimation



bootanimationの最後のフレーム。通常のSO-04Eのbootanimationに少し手を加えて、ミクさまにはacroHDを持ってもらうことにした。 XPERIA→MIKUロゴ→docomoロゴ→acroHD
どうでもいいのですが、SO-04Eのbootanimationの「docomo」ロゴは解像度が悪い、、手を抜いているのかテストしてないのか、気にならないのか、どうなのか。なので解像度のよいものに変更。

正直ミクさまには全く興味がなかったのですが、対応化作業をしているうちに
熱が少し上がってしまったようで、人気の理由が少しだけわかった気が致します。

誤った記載などがありましたら、ご連絡いただけたら幸いで御座います。



-------------------------------------------------------------
LT26w_Miku.zip:
-------------------------------------------------------------
・com.mikuxperia.featuresongsplayerapp-1.apk
・01_Miku_Keyboard.apk
・02_RinLen_Keyboard.apk
・03_Luka_Keyboard.apk
・04_Kaito_Keyboard.apk
・05_Meiko_Keyboard.apk
・DocomoHome_xhdpi.apk
・DocomoLockScreen.apk
・MikuBatteryAntennaWidget.apk
・MikuDownloader.apk
・MikuClockWidget.apk
・OperatorDCMMikuTheme.apk
・SPMDmeicollabomiku00000000000001.mcc
・0_1miku.kin
・0_2rinlen.kin
・0_3luka.kin
・0_5meiko.kin
・kisekae0.kin
・com.mikuxperia.mikuxperia_library.jar
・libpatts_engine_jni_api.so
・com.sonyericsson.a.operatordcmmikutheme.raw-res.apk
・com.sonymobile.docomolockscreen.raw-res.apk
・com.mikuxperia.featuresongsplayerapp-1.apk
・com.mikuxperia.findyourmikucontent-1.apk
・com.mikuxperia.mikualarmapp-1.apk
・com.mikuxperia.mikuhomeapp-1.apk
・com.mikuxperia.mikulivewallpaper.apk
・com.mikuxperia.mikunewsapp-1.apk
・com.mikuxperia.mikuweatherwidget-1.apk
・com.nttdocomo.android.iconcier-1.apk
・com.nttdocomo.android.iconcier_contents-1.apk
・com.nttdocomo.android.mascot-1.apk
・com.nttdocomo.android.paletteui-1.apk
・etc....
 不要なものは7zipで削除

※追記 2014/04/30
下記コメントより
他機種でしゃべってコンシェル ミクを対応させる方法

必要なファイル

・com.nttdocomo.android.mascot apk
・ミク.mcc

com.nttdocomo.android.mascot apkをApk-multi-toolでばらす。
/assets/内にミク.mccをペースト後”meidonomei.mcc”にリネーム
Compile→SDからインストール


Root権限不要で、zipファイルで色んなものを入れ込むよかは、不要になった際などは簡単にuninstallできるので、メリットはあるかもしれません。 Related Posts Plugin for WordPress, Blogger...

スポンサーリンク

------------------------------------------

2013年12月12日木曜日

メモ C1605 boot.img を作る

スポンサーリンク

------------------------------------------

環境
ubuntuで作成
必要なファイル群は色々

xdaのこちらを参考にCWMとTWRP入りのものを作成。

1.boot.imgを探す
端末とPCをつないで
  
adb shell
cat /proc/partitions
major minor  #blocks  name

179        0    3817472 mmcblk0
179        1       1024 mmcblk0p1
179        2       2048 mmcblk0p2
179        3      20480 mmcblk0p3   ←boot.imgこれ
179        4          1 mmcblk0p4
179        5      30720 mmcblk0p5
179        6       8192 mmcblk0p6
179        7       5120 mmcblk0p7
179        8       8192 mmcblk0p8
179        9       8192 mmcblk0p9
179       10      16384 mmcblk0p10     ←lta-label
179       11     665600 mmcblk0p11    ←system
179       12     163840 mmcblk0p12   ←cache
179       13       3072 mmcblk0p13
179       14       3072 mmcblk0p14
179       15       3072 mmcblk0p15
179       16     768000 mmcblk0p16     ←data
179       17    2103296 mmcblk0p17
179       32    7875584 mmcblk1
179       33    7871488 mmcblk1p1     ←ext_card

XDAの公開されていたxperia_e_jb_cwm.elfをばらし、ramdisk/sbin/etc/recovery.fstabの中にmount point下のように示してあったので、boot.imgはmmcblk0p3で間違いなし
# mount point fstypedevice [device2]   fstype2

/boot emmc/dev/block/mmcblk0p3
/system ext4/dev/block/mmcblk0p11
/cache ext4/dev/block/mmcblk0p12
/data ext4/dev/block/mmcblk0p16
/sdcard vfat/dev/block/mmcblk0p17
/external_sd vfat/dev/block/mmcblk1p1/dev/block/mmcblk1

2.boot.imgをSDカードに抜き取り、SDcardのboot.imgをPCに保存する

# adb shell
$ su
# dd if=/dev/block/mmcblk0p3 of=/sdcard/sony_boot.img
 
# adb pull /sdcard/sony_boot.img
保存場所は作業ディレクトリをつくるなど

3.boot.imgを解体

$ hexdump -C sony_boot.img > dump
$ head dump
00000000  7f 45 4c 36 01 01 01 61  00 00 00 00 00 00 00 00  |.ELF...a........|
00000010  02 00 28 00 01 00 00 00  00 80 20 00 34 00 00 00  |..(....... .4...|
00000020  00 00 00 00 00 00 00 00  34 00 20 00 04 00 00 00  |........4. .....|
00000030  00 00 00 00 01 00 00 00  00 10 00 00 00 80 20 00  |.............. .|  <== Byte 9/10/11: is   kernel start (after 4k sin header)
00000040  00 80 20 00 28 88 40 00  28 88 40 00 00 00 00 00  |.. .(.@.(.@.....|  <== Byte   9/10/11: is kernel length
00000050  00 00 00 00 01 00 00 00  28 98 40 00 00 00 50 01  |........(.@...P.|  <== Byte 9/10/11: is ramdisk start
00000060  00 00 50 01 b1 73 18 00  b1 73 18 00 00 00 00 80  |..P..s...s......|  <== Byte 9/10/11: is ramdisk length
00000070  00 00 00 00 04 00 00 00 d9 0b 59 00 00 00 00 00  |..........Y.....|  <== Byte 9/10/11: is cmdline start
00000080  00 00 00 00 95 00 00 00  95 00 00 00 00 00 00 20  |............... |  <== Byte 9/10/11: is cmdline length (512 characters)
00000090  00 00 00 00 53 49 4e 21  b4 00 00 00 00 00 00 00  |....SIN!........|

上とXDAの触れ書き(下)を参考にして(同機種であっても各端末によって違うらしいので面倒だがメモなりする)sony_kernel.imgsony_ramdisk.img.gzsony_cmdline.imgにunpackする。
00 10 00 => is 0x001000
68 70 3c => is 0x3c7068

68 80 3c => is 0x3c8068
c6 1b 15 => is 0x151bc6

2e 9c 51 => is 0x519c2e
00 02 00 => is 0x000200
↑のようにするらしいので
$ dd skip=$((0x001000)) count=$((0x408828)) bs=1 if=sony_boot.img of=sony_kernel.img
4229160+0 記録始め
4229160+0 記録終わり
4229160 バイト (4.2 MB) コピー終了, 19.6939 s, 215 kB/s

$ dd skip=$((0x409828)) count=$((0x1873b1)) bs=1 if=sony_boot.img of=sony_ramdisk.img.gz
1602481+0 記録始め
1602481+0 記録終わり
1602481 バイト (1.6 MB) コピー終了, 32.3733 s, 49.5 kB/s

$ dd skip=$((0x590bd9)) count=$((0x000095)) bs=1 if=sony_boot.img of=sony_cmdline.img
149+0 記録始め
149+0 記録終わり
149 バイト (149 B) コピー終了, 0.000796749 s, 187 kB/s

$ hexdump -C sony_ramdisk.img.gz | head
$ gunzip sony_ramdisk.img.gz
$ mkdir ramdisk
$ cd ramdisk/
/ramdisk$ cpio -i < ../sony_ramdisk.img
4586 blocks
でramdiskが出来る

  ↑ramdiskの中身(画像左のramdisk-twrpがmountしているのは間違いですね,,,)


4.ramdisk.cpioを作る

どこかホームなどにramdiskをコピペして
$ find | cpio -o -H newc > ../ramdisk.cpio
4586 blocks
ramdisk.cpioができあがる(後で使う)

5.XDAのdualboot.imgをunpackする

XDAにあったdualrecoveryカーネルをdualboot.imgをunpackしTWRPとCWM入りのramdiskをお借りする。
unpackはsplit_bootimgを使用?忘れた
unpckboot.imgで検索すればでてくる

unpck後
ramdisk内は
・sbin
・init
・sonylogo.rle
だけ

さらにsbin内に
・bootrec-device
・busybox
・init.sh ←これを覗いてみると感心する
・ramdisk.cpio(FW11.3.A.2.1)
・ramdisk.cwm.cpio
・ramdisk.twrp.cpio
↓のような状態

で、ここramdisk/sbin/に4.で作ったramdisk.cpioを上書き保存し
3.で作ったsony_kernel.imgがあるディレクトリにramdiskを保存、全て置き換える

6.boot.imgをrepack

ramdisk.img.gzを作る
$ cd ramdisk
/ramdisk$ find . | cpio --quiet -H newc -o | gzip > ../my_ramdisk.img.gz

boot.imgを作る(mkelf.pyが必要)
$ python mkelf.py -o my_boot.img sony_kernel.img@0x00208000 my_ramdisk.img.gz@0x01500000,ramdisk sony_cmdline.img@0x0,cmdline
python: can't open file 'mkelf.py': [Errno 2] No such file or directory

とmkelf.pyに実行権限を与え忘れて怒られる

$ python mkelf.py -o my_boot.img sony_kernel.img@0x00208000 my_ramdisk.img.gz@0x01500000,ramdisk sony_cmdline.img@0x0,cmdline

my_boot.imgできあがり

7.boot.imgをflash


fastboot flash boot ./my_boot.img

sending 'boot' (11672 KB)...
(bootloader) USB download speed was 5149kB/s
OKAY [  2.361s]
writing 'boot'...
(bootloader) Flash of partition 'boot' requested
(bootloader) S1 partID 0x00000003, block 0x00002000-0x0000bfff
(bootloader) Erase operation complete, 0 bad blocks encountered
(bootloader) Flashing...
(bootloader) Flash operation complete
OKAY [  1.273s]
finished. total time: 3.634s


無事起動できればOK?

XDAのhsr0さんpurplemazeさんに感謝いたします。
あれやこれやと仮定してから作っているので誤っている部分があるかもしれません、ご指摘いただけたら幸いで御座います。

このやり方で間違いないのであれば、OS4.3なり、4.4のアップデートがきてもSONYのソース公開を待たずしてTWRPやCWMがポート出来るのかも

Related Posts Plugin for WordPress, Blogger...

スポンサーリンク

------------------------------------------