2012年8月11日土曜日

日経Linux 2012/9月号 特集3を試してみた その2




話を戻して、AOSPのビルドの時に、Vendorのドライバーを組み込む作業がある。
自分でコマンドを打つ手間を省くために、日経Linuxのサイトからコマンドを載せたtxtファイルを取得し、コピペで実行したところ、ファイルがみつからないとのエラーとなった。

調べてみると、日経が間違えている(追試していないことが判明)

これは正しい
wget https://dl.google.com/dl/android/aosp/broadcom-maguro-jro03c-38ebfe02.tgz

誤 wget https://dl.google.com/dl/android/aosp/imgtec-maguro-jro03cc1162ee1.tgz
正 wget https://dl.google.com/dl/android/aosp/imgtec-maguro-jro03c-c1162ee1.tgz

誤 wget https://dl.google.com/dl/android/aosp/invensense-magurojro03c-9323759c.tgz
正 wget https://dl.google.com/dl/android/aosp/invensense-maguro-jro03c-9323759c.tgz

誤 wget https://dl.google.com/dl/android/aosp/samsung-maguro-jro03cc6bdd0ed.tgz
正 wget https://dl.google.com/dl/android/aosp/samsung-maguro-jro03c-c6bdd0ed.tgz

記事の方は間違っていない。

日経Linux 2012/9月号 特集3を試してみた


OEM unlockやバックアップ、AOSPのビルドは省略
標準ROMの導入を手順とおりに実行 その時のログをMEMO

yakju-jro03c$ ./flash-all.sh
sending 'bootloader' (2308 KB)...
OKAY [  0.273s]
writing 'bootloader'...
OKAY [  0.818s]
finished. total time: 1.091s
rebooting into bootloader...
OKAY [  0.006s]
finished. total time: 0.007s
sending 'radio' (12288 KB)...
OKAY [  1.440s]
writing 'radio'...
OKAY [  1.647s]
finished. total time: 3.087s
rebooting into bootloader...
OKAY [  0.006s]
finished. total time: 0.006s
archive does not contain 'boot.sig'
archive does not contain 'recovery.sig'
archive does not contain 'system.sig'
--------------------------------------------
Bootloader Version...: PRIMELC03
Baseband Version.....: I9250XXLF1
Serial Number........:
--------------------------------------------
checking product...
OKAY [  0.007s]
checking version-bootloader...
OKAY [  0.008s]
checking version-baseband...
OKAY [  0.008s]
sending 'boot' (4366 KB)...
OKAY [  0.514s]
writing 'boot'...
OKAY [  0.510s]
sending 'recovery' (4708 KB)...
OKAY [  0.552s]
writing 'recovery'...
OKAY [  0.552s]
sending 'system' (396675 KB)...
OKAY [ 46.200s]
writing 'system'...
OKAY [ 38.875s]
erasing 'userdata'...
OKAY [  0.552s]
formatting 'userdata' partition...
Creating filesystem with parameters:
    Size: 14539534336
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 8144
    Inode size: 256
    Journal blocks: 32768
    Label:
    Blocks: 3549691
    Block groups: 109
    Reserved block group size: 871
Created filesystem with 11/887696 inodes and 97200/3549691 blocks
sending 'userdata' (137559 KB)...
writing 'userdata'...
OKAY [ 27.067s]
erasing 'cache'...
OKAY [  0.012s]
formatting 'cache' partition...
Creating filesystem with parameters:
    Size: 452984832
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 6912
    Inode size: 256
    Journal blocks: 1728
    Label:
    Blocks: 110592
    Block groups: 4
    Reserved block group size: 31
Created filesystem with 11/27648 inodes and 3566/110592 blocks
sending 'cache' (8832 KB)...
writing 'cache'...
OKAY [  2.791s]
rebooting...

finished. total time: 117.680s

この後自動的にRebootとしJBが使用できるようになる。

これから、標準ROM4.1のバックアップに移る

2012年7月17日火曜日

Android x86 RC2の続き


昨日に続き実験中

USB Bluetoothデバイスを認識、ONで他のデバイスとペアリングはできた

SDカードは、SDHCを認識しない、SDカードはUSBメモリとして認識した

SDカード認識させた状態で、USBメモリを接続するとUSBメモリの方のみを認識
USBメモリをアンマンとしても、SDカードを再度認識せず

USBGPSは認識せず(デバイスの設定があるので難しいと思われる)

アナログdisplay出力は、期待していたがダメだった。




不幸なことに他のEEEPC1000HAも試していたらHDDのMBRを破壊したようだ
master0:errorとなりXPがbootしなくなった。困ったことにリカバリーdiskを作成していない

Android x86のFONTを日本語FONTに変更した


AndroidPCの場合、USB HOSTのインタフェースしか有していないため、USBケーブルでのデバッグができない
そこで、WIFI経由でのデバッグとなる。最初にAndroidPCのIPアドレスを調べる

調べたIPアドレスを用いて
adb connect <device-ip-address>
を実行することでAndroidPCと接続できる


日本語FONTの追加
・最初にFONT定義ファイルの修正

adb pull /system/etc/fallback_fonts.xml .
gedit fallback_fonts.xml

最初のに部分に
    <family>
        <fileset>
            <file>DroidSansJapanese.ttf</file>
        </fileset>
    </family>
を追加し保存終了。

adb shell
su
chmod 777 /syste/etc
adb push fallback_fonts.xml /system/etc/

chmod 777 /system/fonts
adb push DroidSansJapanese.ttf /system/fonts/DroidSansJapanese.ttf

reboot

起動後oosaka(大阪)のFONTが正しいか確認する

後始末
追加したファイルのオーナーやグループがshellになっているのでbusybox chown rootで修正しておくとよい
もちろん777にしたpermisiionを755に戻すことを忘れないこと

2012年7月16日月曜日

Eee PC にAndroid x86 ICS RC2をインストールしてみた


5ヶ月ぶりでRC2がリリースされた。早速ダウンロードしてインストールしてみた。
ダウンロードは、ここから

android-x86-4.0-RC2-eeepc.isoをダウンロード
UNetBootinで、USBメモリに書き込み
Eee PCのブート時に、ESCで起動ディスクを選択

インストール時に、systemをRWにしておくと後で修正できる。



動作確認
無線LAN、SOUND、タッチパッド

修正された点
YouTubeが再生出きるようになった
電源ボタン長押しで、シャットダウンできるようになった

新規機能
あまりの領域をUSBdiskとして認識するようになった

問題点
FONTが相変わらず中華FONT
Terminal Emulatorがコマンドを受け付けない

不満もなさそうなので、内臓SSDにインストールした
しばらく使ってみる

2012年7月8日日曜日

NFCLAB 会津勉強会に参加してきた


昨日G-Clueさんで開催されたNFCLAB 会津勉強会に参加してきました。

私の住んでいるところから、会津まで片道150kmはありますが、興味のある分野なのでATNDがたつとすぐに申し込みしました。また、最近Android成分が少なくなってきたので、自分を追い込む意味でスピーカとして参加しました。

すぎもてさんは、相変わらず楽しく熱い語りで、かなり感化されました。

その後、佐々木さん、木村さん、中川さんの話もおもしろかった記憶がありますが、正直自分の発表のプレッシャーで記憶から欠落してしまい、残念です。
また、G-Clueさんの綺麗なオフィスの写真や、イベントの様子を写真をとるのをまったく忘れてしまったりおまけにG-Clueに傘を忘れてくるなど、今思うとかなりテンパっていました。(佐々木さんの写真です)

しかし、デモ用に作成したTagは、好評だったのでほっとしています。後日、Tagの写真をUPします。

すぎもてさんの熱いかたりに感化されたため、帰路ではいくつかの考えがわいてきて非常に有益でした。

その結果、かなり悩みましたが、NFCLabの支援を得て、ABC2012東北への参加を目指すことにしました。


2012年6月30日土曜日

NFC対応のアプリケーションを調べてみた

Google製のアプリケーションがNFCに対応しているのが増えているようだ
そこで、GNにインストールされているアプリの中でNFCに対応しているものをPickUpしてみた。

PermissionでNFCを使用しているものをPickUpすればよい

Google製
  • ブラウザ
  • 連絡先
  • NFCサービス
  • 設定
  • Google Play
  • Map
  • email
  • Gmail
  • Tag
  • YouTube
  • Earth
Googleのアプリをすべてインストールしているわけではないので抜けはあると思う。


それぞれどのように使用するかは、今後順次調査してゆく


2012年6月29日金曜日

NFC Tagの中身を覗いてみた

GN上でTagInfoアプリを使用してNFC Tag(中身は、MifareUltralight)の中を覗いてみた。NTAG203は、最初からNDEFにフォーマットされており、利用可能なサイズは144byteである。このTagは、20枚1200円で八重洲の店で購入したものである。








** TagInfo scan (version 1.40) 2012-06-29 00:33:58 **

# IC manufacturer:
NXP Semiconductors

# IC type:
NTAG203(F)

# NFC Forum NDEF-compliant tag:
Type 2 Tag

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

# NFC data set information:
Current message size: 0 bytes
Maximum message size: 137 bytes
NFC data set access: Read & Write
Can be made Read-Only

# No NFC data set available:

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

# Memory size:
168 bytes total memory
* 42 pages, with 4 bytes per page
* 144 bytes user memory (36 pages)

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

# Technologies supported:
ISO/IEC 14443-3 (Type A) compatible
ISO/IEC 14443-2 (Type A) compatible

# Android technology information:
android.nfc.tech.Ndef
android.nfc.tech.MifareUltralight
android.nfc.tech.NfcA
* Maximum transceive length: 253 bytes
* Default maximum transceive time-out: 618 ms
Tag description:
* TAG: Tech [android.nfc.tech.MifareUltralight, android.nfc.tech.NfcA, android.nfc.tech.Ndef]

# Detailed protocol information:

ATQA: 0x4400
SAK: 0x00

# Memory content:
[00] *
[01] *
[02] .  61 48 00:00 (BCC1, INT, LOCK0-LOCK1)
[03] .  E1:10:12:00 (OTP0-OTP3)
[04] .  01 03 A0 10 |....|
[05] .  44 03 00 FE |D...|
[06] .  00 00 00 00 |....|
[07] .  00 00 00 00 |....|
[08] .  00 00 00 00 |....|
[09] .  00 00 00 00 |....|
[0A] .  00 00 00 00 |....|
[0B] .  00 00 00 00 |....|
[0C] .  00 00 00 00 |....|
[0D] .  00 00 00 00 |....|
[0E] .  00 00 00 00 |....|
[0F] .  00 00 00 00 |....|
[10] .  00 00 00 00 |....|
[11] .  00 00 00 00 |....|
[12] .  00 00 00 00 |....|
[13] .  00 00 00 00 |....|
[14] .  00 00 00 00 |....|
[15] .  00 00 00 00 |....|
[16] .  00 00 00 00 |....|
[17] .  00 00 00 00 |....|
[18] .  00 00 00 00 |....|
[19] .  00 00 00 00 |....|
[1A] .  00 00 00 00 |....|
[1B] .  00 00 00 00 |....|
[1C] .  00 00 00 00 |....|
[1D] .  00 00 00 00 |....|
[1E] .  00 00 00 00 |....|
[1F] .  00 00 00 00 |....|
[20] .  00 00 00 00 |....|
[21] .  00 00 00 00 |....|
[22] .  00 00 00 00 |....|
[23] .  00 00 00 00 |....|
[24] .  00 00 00 00 |....|
[25] .  00 00 00 00 |....|
[26] .  00 00 00 00 |....|
[27] .  00 00 00 00 |....|
[28] .  00 00 -- -- (LOCK2-LOCK3)
[29] .  00 00 -- -- (CNT0-CNT1, value: 0)


  *:locked & blocked, x:locked,
  +:blocked, .:un(b)locked

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

Google Earth 7.0.0.7386がNFC対応していた



本日Google IOでのいくつかの発表に伴い、いくつかのGoogle製のアプリが更新された。
さっそくEarthを覗いて見たところ、いくつかの機能追加の中にNFCが加わっている

使い方は今のところ不明であるが、NFC経由でEarthを起動できるようだ

intent-filter
 action "android.nfc.action.NDEF_DISCOVERED"
 category "android.intent.category.DEFAULT"
 data  mimeType "application/com.google.earth"となっている

引き続き調査を行う

ところで、7.0.0.7386は何か意味があるのであろうか?

2012年6月27日水曜日

久しぶりにGoogle Mapsを調べてみた


LTのネタにと、久々にPC用のMapsを調べてみた。知らない間に、少しずつ機能が増えている。

指定の場所の情報を得る
調べたい場所を右クリックし、メニューからこの場所についてを選ぶ

・検索Box内に、その場所の緯度経度が表示される
・左のペインにその場所の住所が表示され、マーカAが代表地点に表示される
 また、指定した地点と、代表地点までの距離と方角が住所の下に表示される
・指定地点の近くにStreetViewの対象エリアがある場合、それが表示される
 画像をクリックするとStreetViewに切り替わり、かつStreetViewのノードの地点から、指定地点を向いた画像が表示される
・また、住所の主なお店やサービスが表示される
 標準のアルゴリズムは不明であるが、この表示順がビジネスになるのだろう




 興味のある店をクリックすると、地図上のその店の位置にウィンドウが表示され、店の名称、住所、電話番号が表示される
 口コミが登録されていると件数が表示される
 また、ここにもStreetViewの画像が表示される


この緯度経度を使用して次の調査を行なおう

2012年6月26日火曜日

StreetViewを久々に調べてみた


LTのネタにでもしようかと久々にStreetViewを調べてみた。
昨年のデモ作成用に調べてから半年以上経過しており、Googleも少しずつ仕様を変えているようだ。

・緯度経度から近くのStreetViewのノード情報を取得
 http://maps.google.com/cbk?output=xml&oe=utf-8&ll=34.675191%2C135.784845

 このURLで指定の緯度経度の近くの情報をXML形式で取得できる。以前の結果と比較すると4点異なる(ただし、サンプルが1つなので正確でないかもしれない)
1 名称がなくなった
2 写真の日付が追加
3 ベストの方向が追加
4 国の情報が追加

下記フォーマットの説明はないが、タグや構造からある程度推定できる。内容については次回に


 2011/9/11の結果
<panorama>
<data_properties image_width="13312" image_height="6656" tile_width="512" tile_height="512" pano_id="7WKjKdY62GbLlJp0eQkp9A" scene="0" level_id="0000000000000000" num_zoom_levels="3" lat="34.675191"lng="135.784845" original_lat="34.675191" original_lng="135.784845">
<copyright>© 2011 Google</copyright>
<text>JP-ToshodaijiTemple&Shrine</text>
<street_range/>
<region/>
<country/>
</data_properties>
<projection_properties projection_type="spherical" pano_yaw_deg="357.27" tilt_yaw_deg="37.73" tilt_pitch_deg="1.96"/>
<annotation_properties>
<link yaw_deg="178.38" pano_id="zX3jiN9XGvQSxECzRHQj1A" road_argb="0x80fdf872" scene="0">
<link_text/>
</link>
<link yaw_deg="359.23" pano_id="pOfNuOw67nBzFDnI3nGY1w" road_argb="0x80fdf872" scene="0">
<link_text/>
</link>
</annotation_properties>
</panorama>

2012/6/25の結果
<panorama>
<data_properties image_width="13312" image_height="6656" tile_width="512" tile_height="512" image_date="2010-11" pano_id="7WKjKdY62GbLlJp0eQkp9A" scene="0" level_id="0000000000000000" num_zoom_levels="3" lat="34.675191" lng="135.784845" original_lat="34.675191" original_lng="135.784845" best_view_direction_deg="1.5598">
<copyright>© 2012 Google</copyright>
<text/>
<street_range/>
<region/>
<country>Japan</country>
</data_properties>
<projection_properties projection_type="spherical" pano_yaw_deg="357.27" tilt_yaw_deg="37.74" tilt_pitch_deg="1.96"/>
<annotation_properties>
<link yaw_deg="178.42" pano_id="zX3jiN9XGvQSxECzRHQj1A" road_argb="0x80fdf872" scene="0">
<link_text/>
</link>
<link yaw_deg="359.22" pano_id="pOfNuOw67nBzFDnI3nGY1w" road_argb="0x80fdf872" scene="0">
<link_text/>
</link>
</annotation_properties>
</panorama>

2012年6月25日月曜日

PhotoVision 008HWは、Androidデバイスだったのでいじってみた


すまほん!!さんのサイトでPhotoVision 008HWがAndroidタブレットだったという記事を見て早速オークションで入手した。


ばらしてUSBケーブルを接続し、PCに接続すると、そのまま簡単に内部にアクセスできる。suコマンドも使えるので、簡単にrootにもなれる。

アプリケーションは、adb installでインストールできるのでいくつか試してみたが、通信もなくタッチ入力もできないので、ほとんどのアプリは使えないのが残念。

アプリの起動の仕方
インストールするとメニューに表示されるので、選んで決定




アプリの削除の仕方
方法1 rootで、強制的に/data/appのファイルをリムーブ


方法2 AppMonsterなどの管理アプリを使う。ただし、FroyoのPackageInstallerをシステム権限になるように入れる必要がある。
  /systemがroモードなのでrwでremountを行う。
  mount -o remount -r -w -t yaffs2 /dev/block/mmcblk2 /system
  /system/appに、PackageInstallerをコピーし、再度rebootを行う



Home
アプリの切り替えを簡単に行うために、FroyoのLauncher2をインストールしたが、Homeキーがないため切り替えられない。しかたがないので、rootとなり、rebootを行い、再起動することで、起動時にHomeアプリを聞いてくるので、選択。しかしながら、Launcher2を選べてもエラーになり使用できない。(多分タッチパネルが名炒めと思われる。BeagleBoard用のLauncherを今度試してみよう。)

2012年5月6日日曜日

master (4.0404)のvboxイメージをインストールしてみた



すっかり手順を忘れてしまったので備忘録として

・Virtual boxで新規、タイプはLinuxのotherに(選んだタイプにより後のHWの構成が決まってしまう)。
・メモリは512Mに変更
・新規ハードディスクを作成 Typeは、VHDのDynamicのサイズは、2Gで作成
・設定で、システム、プロセッサ、PAE/NXを有効
・ビデオのメモリを増加
・ストレージ、CDROM削除、HDD追加で作成したVDIを選択
 (ポイント:インストーラがIDEしかサポートしていない。これで何度もつまづいた)
・ネットワークはブリッジに

この設定で起動し、すかさずF12を押し、2番のスレーブから起動、sdaからsdbにインストールを選択する。
インストールの手続きが開始されるが、ここでエラー



一旦仮想マシンをシャットダウンし、再度起動。

今度は、すかさず、sdaからsdbにインストールを選択すると、再度インストール手続きが始まる。


終了するとrebootしろとメッセージが表示されるが、インストーラがrebootをサポートしていないため、再度仮想マシンをシャットダウン。



3回目の起動は、sdaからの起動のままで

今度は、Androidが起動する。画面をクリックするとマウスが統合化される。ubuntu戻る場合は、右のCtrlボタンを押す。

以前はマウスカーソルが描画されなかったが、今回は描画される。残念なことに、ラウンチャーが起動しないためそれ以上は進まない

2012年5月5日土曜日

ICSのx86エミュレータのAVDを作成してみた


前の続き

・~/androidsdk/add-ons/addon-google_apis-google-15をコピーし、 ~/androidsdk/add-ons/addon-google_apis-google-15x86
のような名前をつける

・/home/papa/androidsdk/add-ons/addon-google_apis-google-15/x86/manifest.iniを開きnameの値を適当に修正する

・imagesに移動し、armeabi-v7aのフォルダー名をx86に変更
 
・x86に移動し先ほどビルドした
 out/target/product/generic_x86/ramdisk.img
 out/target/product/generic_x86/system.img
 out/target/product/generic_x86/userdata.imgで元のファイルを上書きする
 
 また、prebuilts/kernel-qemu/x86/kernel-qemuをコピーする
 
・android avdを起動
 newで新規にAVDを作成
 targetは上記のnameに入力したものを選択
 create AVDを押下


・start


Ubuntu 12.04LTS でAndroid AOSP master (2012/05/05)をビルドしてみた


12.04LTSでのbuild環境の構築は、ここを参照

今回は、cacheを50Gに設定

x86のエミュレータのビルドは、

source build/envsetup.sh
lunch full_x86-eng
time make -j4

でビルド開始。途中ビルドエラーが発生し、中断されてしまう。

/usr/bin/ld: cannot find -lGL
collect2: ld はステータス 1 で終了しました
make: *** [out/host/linux-x86/obj/lib/libEGL_translator.so] エラー 1


ググルと、既に対応された人のページを発見、そこを参考に

シンボリックリンクの追加
sudo ln -s /usr/lib/i386-linux-gnu/mesa /usr/lib32/

また、ページのとおりエラーで停止した。

/usr/bin/ld: cannot find -lGL
collect2: ld はステータス 1 で終了しました
make: *** [out/host/linux-x86/obj/lib/libGLES_CM_translator.so] エラー 1

再度、シンボリックリンクの追加
cd /usr/lib32
sudo ln -s mesa/libGL.so.1 libGL.so


これでビルドが通った。

ターゲットのイメージは、以下にできている
Target system fs image: out/target/product/generic_x86/obj/PACKAGING/systemimage_intermediates/system.img
Install system fs image: out/target/product/generic_x86/system.img

envsetup.shを行った状態だとemulator-x86で起動する

端末情報は、このようになる。


でも、反応はもっさり

2012年3月1日木曜日

Eee PC でx86 ICS RC1を動かしてみた



ようやくRC1がリリースされた。早速ダウンロードしてインストールしてみた。
ダウンロードは、ここから

android-x86-4.0-RC1-eeepc.isoをダウンロード
UNetBootinで、USBメモリに書き込み
Eee PCのブート時にESCで起動ディスクを選択

よくなった点
サウンドが出るようになった

修正されていないところ
Youtubeが再生されない

前回の状況を覚えていない
電源ボタンでシャットダウンできなくなった。

まだハードディスクにインストールするには早そうだ