HWなしでgTV hack 01: OTAイメージの取得と展開
アーカイブ先はこのへんに。
http://www.gtvhacker.com/index.php/Logitech_Revue_Technical
一番新しそうな以下をもらって展開する。
b42732 2.1-Update1 01-12-11 175MB
root@debian:~# mkdir gtv root@debian:~# cd gtv root@debian:~/gtv# wget http://android.clients.google.com/packages/ota/logitech_ka/9504d579bade.mp-signed-ota_update-b42732.zip root@debian:~/gtv# unzip 9504d579bade.mp-signed-ota_update-b42732.zip
中身はこんな感じ。
root@debian:~/gtv# mv 9504d579bade.mp-signed-ota_update-b42732.zip ../ root@debian:~/gtv# du ./ -h 252K ./META-INF/com/google/android 256K ./META-INF/com/google 260K ./META-INF/com 468K ./META-INF 20K ./system/etc/dhcpcd/dhcpcd-hooks 44K ./system/etc/dhcpcd 68K ./system/etc/security 80K ./system/etc/permissions 12K ./system/etc/ppp 8.0K ./system/etc/wifi 24K ./system/etc/client_auth 976K ./system/etc 16K ./system/chrome/bin/extensions/gtv 20K ./system/chrome/bin/extensions 9.9M ./system/chrome/bin/locales 96K ./system/chrome/bin/cacerts 92K ./system/chrome/bin/resources/net_internals 44K ./system/chrome/bin/resources/bookmark_manager/images 32K ./system/chrome/bin/resources/bookmark_manager/css 96K ./system/chrome/bin/resources/bookmark_manager/js/cr/ui 124K ./system/chrome/bin/resources/bookmark_manager/js/cr 32K ./system/chrome/bin/resources/bookmark_manager/js/bmm 188K ./system/chrome/bin/resources/bookmark_manager/js 320K ./system/chrome/bin/resources/bookmark_manager 984K ./system/chrome/bin/resources/inspector/Images 2.7M ./system/chrome/bin/resources/inspector 3.1M ./system/chrome/bin/resources 11M ./system/chrome/bin/plugins 64M ./system/chrome/bin 8.0K ./system/chrome/share/defoma/scripts 12K ./system/chrome/share/defoma 16K ./system/chrome/share 28K ./system/chrome/fonts 52K ./system/chrome/lib/libgtk2.0-0 1012K ./system/chrome/lib/nss 208K ./system/chrome/lib/pango/1.6.0/modules 8.0K ./system/chrome/lib/pango/1.6.0/module-files.d 220K ./system/chrome/lib/pango/1.6.0 224K ./system/chrome/lib/pango 152K ./system/chrome/lib/gtk-2.0/2.10.0/immodules 216K ./system/chrome/lib/gtk-2.0/2.10.0/loaders 68K ./system/chrome/lib/gtk-2.0/2.10.0/engines 16K ./system/chrome/lib/gtk-2.0/2.10.0/loader-files.d 8.0K ./system/chrome/lib/gtk-2.0/2.10.0/immodule-files.d 100K ./system/chrome/lib/gtk-2.0/2.10.0/printbackends 564K ./system/chrome/lib/gtk-2.0/2.10.0 372K ./system/chrome/lib/gtk-2.0/modules 940K ./system/chrome/lib/gtk-2.0 15M ./system/chrome/lib 78M ./system/chrome 116K ./system/media/audio/ui 40K ./system/media/audio/notifications 160K ./system/media/audio 19M ./system/media 3.2M ./system/bin 52K ./system/netflix/dist/etc/certs 92K ./system/netflix/dist/etc 52K ./system/netflix/dist/bin 14M ./system/netflix/dist/lib 14M ./system/netflix/dist 104K ./system/netflix/usr/local/qtc/imports/QtWebKit 56K ./system/netflix/usr/local/qtc/imports/Qt/labs/gestures 52K ./system/netflix/usr/local/qtc/imports/Qt/labs/folderlistmodel 112K ./system/netflix/usr/local/qtc/imports/Qt/labs/particles 224K ./system/netflix/usr/local/qtc/imports/Qt/labs 228K ./system/netflix/usr/local/qtc/imports/Qt 336K ./system/netflix/usr/local/qtc/imports 272K ./system/netflix/usr/local/qtc/lib/fonts 52M ./system/netflix/usr/local/qtc/lib 288K ./system/netflix/usr/local/qtc/plugins/accessible 124K ./system/netflix/usr/local/qtc/plugins/imageformats 40K ./system/netflix/usr/local/qtc/plugins/kbddrivers 452K ./system/netflix/usr/local/qtc/plugins/sqldrivers 48K ./system/netflix/usr/local/qtc/plugins/iconengines 212K ./system/netflix/usr/local/qtc/plugins/gfxdrivers 68K ./system/netflix/usr/local/qtc/plugins/bearer 1.3M ./system/netflix/usr/local/qtc/plugins 54M ./system/netflix/usr/local/qtc 54M ./system/netflix/usr/local 54M ./system/netflix/usr 67M ./system/netflix 4.1M ./system/fonts 6.1M ./system/tts/lang_pico 6.1M ./system/tts 7.8M ./system/boot 24K ./system/lib/hw 664K ./system/lib/modules 136K ./system/lib/egl 118M ./system/lib 43M ./system/app 23M ./system/framework 212K ./system/usr/share/zoneinfo 40K ./system/usr/share/bmd 256K ./system/usr/share 20K ./system/usr/keychars 20K ./system/usr/keylayout 300K ./system/usr 368M ./system 384M ./
これはOTAなので、全部入りというわけじゃなさそう。
systemしか入っていないし。
果たして、この状態から動くもの作れるのかね?
META-INF/com/google/android/update-*あたりがOTAの実体なんだろうな。
META-INF/com/google/android/update-binary META-INF/com/google/android/update-script META-INF/com/google/android/updater-script
update-binaryは実行ファイル。あとの2つはテキスト。
スクリプトファイル読むと、OTAの勉強になりそうだけど、このへんはまた機会があったら。
root@debian:~/gtv# cat ota.prop ro.ota.version=5
ほー、何かチェックに使っているのかな。
boot.imgは直置きね。
build.propはこんな感じ。
root@debian:~/gtv# cat system/build.prop # begin build properties # autogenerated by buildinfo.sh ro.build.id=KA1X-20101215.164651 ro.build.display.id=KA1X-20101215.164651.user-b42732 ro.build.version.incremental=user-b42732 ro.build.version.sdk=7 ro.build.version.codename=REL ro.build.version.release=2.1-update1 ro.build.date=Wed Dec 15 16:47:55 MST 2010 ro.build.date.utc=1292456875 ro.build.type=user ro.build.user=parabuild ro.build.host=vdc01b01ubuntu05 ro.build.tags=test-keys ro.product.model=Revue ro.product.brand=logitech ro.product.name=ka ro.product.device=ka ro.product.board= ro.product.cpu.abi=i386 ro.product.manufacturer=logitech ro.product.locale.language=en ro.product.locale.region=US ro.wifi.channels= ro.board.platform= # ro.build.product is obsolete; use ro.product.device ro.build.product=ka # Do not try to parse ro.build.description or .fingerprint ro.build.description=ka-user 2.1-update1 KA1X-20101215.164651 user-b42732 release-keys ro.build.fingerprint=logitech/ka/ka/:2.1-update1/KA1X-20101215.164651/user-b42732:user/release-keys # end build properties # begin system.prop for fishtank ro.config.sync = yes app.setupwizard.disable=1 keyguard.no_require_sim=1 net.ethernetdev=eth0 wifi.interface=ath0 ro.checkin.onboot=1 net.wifi.driver_unloadable=0 # The lease length for addresses supplied by the DHCP server if the private # network is enabled. net.privatenet.leaselength=86400 # GTV has a large screen and plenty of RAM, so enlarge the Dalvik heap # 48m for 1080 output. dalvik.vm.heapsize=48m # end system.prop for fishtank # # ADDITIONAL_BUILD_PROPERTIES # ro.com.android.wifi-watchlist=GoogleGuest ro.config.notification_sound=Default.ogg ro.error.receiver.system.apps=com.google.android.feedback ro.setupwizard.enterprise_mode=1 ro.com.android.dateformat=MM-dd-yyyy ro.url.legal=http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html ro.url.legal.android_privacy=http://www.google.com/intl/%s/mobile/android/basic/privacy.html ro.googletv=yes net.bt.name=Android ro.config.sync=yes dalvik.vm.stack-trace-file=/data/anr/traces.txt ro.build.version.intel=IntelCE-13.226627
ヒープサイズが超でかい。
HD画像用か。
このへんが起動関連か。
root@debian:~/gtv# ls -lh system/boot/* -rw-r--r-- 1 root root 2.0M Jul 24 2010 system/boot/kernel -rw-r--r-- 1 root root 4.8M Jul 24 2010 system/boot/recovery.img -rw-r--r-- 1 root root 1013K Jul 24 2010 system/boot/splash.bmp
recovery.img小さいなぁ。全部はいってなさそう。
chromeでgtk入っているのね。うざいよ。
system/chrome/lib/gtk-2.0/2.10.0/
pangoってなんだっけ?
テキストのレイアウトとレンダリングするフレームワークだっけか。
system/chrome/lib/pango/
このへんが問題のQt。これもうざい。
system/netflix/usr/local/qtc/imports/Qt/labs/