2009年9月28日月曜日

SmartQ 7 v5にアップデート



公式ページからファームをダウンロード(トップから行くとQ5とQ7のリンクが入れ替わってる)。通常通りにSDに入れてアップデート。


途中で以前の環境を残すか訊ねられる。"+"で残す。"-"で残さない。


とりあえず、残すで実行しましたが、容量がいっぱいになりそうだったので、初期化した。





少しモッサリ感が増したような気がするが、v4より安定しているような気がする。


Macのようなランチャが出る。消したい。





SmartQ 7で動くAndroidをつくる






とりあえず動いて、Build numberに自分の名前が出るだけです。快適になるっというレベルではありません。


とりあえずmakeしてみたかっただけです。





●手順のまとめ


基本的にここ書いてあるようにすれば、環境はできる。



  1. ubuntuを用意

  2. 必要なパッケージをインストール

  3. gitでソース取得

  4. make

  5. SDカードに展開

    1. makeしたもののみ -> 起動不可

    2. 古い環境に上書き -> 起動不可

    3. 古い環境に上書き+init.rcは古い物を使用 -> 起動可







●わかったこと



  1. initrcで起動できるか分かれる → initrcの記述を見比べれば、なにかわかるかも。

  2. rootfsのレベルでwifiが使えるか別れる → カーネルレベルで対応しているだけでは、ダメ





●細かい手順


環境は、ubuntu9.04です。



$sudo -s

$apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
参考ページでは、次に"valgrind"をインストールしているが、デバッグのツールなのでとばしました。

$apt-get install lib32readline5-dev

ソース取得用のスクリプトをつくる
$mkdir ~/bin
$export PATH=~/bin:$PATH
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo

ソースの取得(途中で、名前とメアドが必要。コミット(gitでも?しない限りgmailである必要はないようです。)
$mkdir mydoroid
$cd mydoroid
$repo init -u git://android.git.kernel.org/platform/manifest.git (10分ほどかかった)
$repo sync (1時間ほどかかった)

make
$cd mydoroid
$make (8時間かかった。速いマシンでも5時間ぐらいかかるようです。)

コピー("rootディレクトリの中" と "systemディレクトリそのまま")
$mount /dev/sdb2 /mnt (SDの2番目のパーティションをマウント)
$cp /mnt/init.rc ~
$cp -ar /out/target/product/generic/root/* /mnt
$cp -ar /out/target/product/generic/system /mnt
$cp ~/init.rc /mnt
$sync && umount /mnt






とりあえず、動いたから満足。setting - About phone - Build numberにソースを取得したときの名前が表示されます。








待ち時間中にカーネルのオプションを眺めたりしていたけれど、ソースをいじらないとダメぽい。


オプションを変えるぐらいなら、何とかなるけれど、ソースの変更は無理。


  





少しだけ妄想。


  Android用のカーネルと元のカーネルの差分をとってAndroid用のパッチを作る。


  arm用(SmartQ用)のubuntuのカーネルソースにパッチを適用。


  arm用のクロスコンパイラでmake。








ubuntuがお勧め(標準)の環境らしいので、はじめてPlamoLinux以外を使った。


makeしている間に、いろいろと触ってみたけれど、慣れない。


インストーラが普通にGUIでびっくりした。


久々に長い時間がかかるコンパイルしたけれど、やっぱり速いマシンがほしくなる。





2009年9月25日金曜日

SmartQ 7でAndroid



!!注意!!


以下は、rootfsが共通であることを確認するためだけの実験です。特に何も意味はありません。


コメントに書いてくださってるように、先日の分も合わせて、今のところQ7でのAndroidはお勧めできません。









先日のイメージのアーカイブに含まれていたrootfsがQ7もQ5も共通だったので、Q5用の他のイメージを探して、rootfsのみを入れ替えて使ってみた。





android化 現ベスト版? - One Chip Designで紹介されているQ5用のアーカイブに含まれているrootfsを使用。kernelはそのまま。(wifi版の方は、リンクが切れているようなので、プロト版と書かれている物のみを使ってみた。)





予想通り、ブートは可能で、wifiはダメでした。





Q5用でも新しいイメージがアップされたら、rootfsは試した方がよさそう。





メモ



前のkernelとrootfsでwifiがOKだったということは、rootfsの部分でwifiがダメになってる。kernelでは使えるが、Androidのレベルで対応できていないみたい。





自分でmakeするとして。


Android用のlinuxカーネルにSmartQ用の特殊なパッチがあたってそう。ソースは手に入る?configとか分かる?


->公式のubuntsのkernelのソースがあれば、ほとんどいけるかな?





2009年9月21日月曜日

SmartQ 7でAndroidを動かす(2)



●使用した感想



  • タッチパネルがずれてるのか、操作しにくい。  

  • mountコマンドはあるようだけど、shellを起動した状態でソフトキーが立ち上がらないので、入力できない。新しいパーティションを作ってもSDがマウントできない。

  • USBメモリを挿しても、変化無し。そもそもAndroidにUSBメモリを操作する機能があるか?






  • SDKのadbでリモートできない。winのドライバがない。

  • 戻るボタンは"-"





●調べて試す



  • タッチパネルの調整はない?

  • 起動時の初期化時に自動的にSDをmountさせるとして、どこに書くか?シェルスクリプトで対応できるか?

  • Linuxカーネルのレベルで対応していれば、shellからなら手動でUSBメモリをマウントできるような?

  • 思い切って内臓のフラッシュにAndroid書き込んでみる?

    • 公式のファームを展開して、Androidのカーネル等と入れ替えて圧縮。ファームのアップデートの手順で書き込み。可能か?危ない?








2009年9月18日金曜日

英語のマニュアルを発見。





公式ファームのアップデート方法。



Q5と起動時に押すキーが異なるみたいで、はまってしまった。





電源が切れてしまわないように、ACを挿して行う。


1.公式のダウンロードから"SD Card Update Tools for SmartQ7"と"SmartQ 7 V4.0"をダウンロード。


2.ファイルを解凍。ファームの方のファイルをSDカードにコピー


3.Update Toolsの方をインストール。


4.SDカードをPCに挿して、Update Toolsを実行。SmartQの種類、SDカードのドライブ名、SDカードの種類を選択して、実行。


5.真ん中のキー(+-とは別のキー)と電源ボタンを同時に押す。


6.黄緑ぽい色のランプがついたら、しばらく待つ。


7.+キーで実行、-キーでキャンセル。+キーを押して完了を待つ。


8.自動的に電源が切れて完了。





SmartQ(2)



Androidの導入方法は、なんとなくわかったけれど、イメージが見つからない。


動作している動画があるところを見ると、どこかにあるんだろうけど。





Q5のイメージで動かしてみたけれど、画面の半分ぐらいに、ぼやけた感じで表示されてうまく動かない。


さて、どうしたものか。





2009年9月16日水曜日

SmartQ 7を買った










9月8日にDealExtreamで注文


9月13日に発送されて、今日届いた。$212.70でpaypalの手数料を合わせて、\20422だった(送料込み)。


想像したのよりは、きちんとしたつくりだった。


付属品は、USBケーブル、ACアダプタ、USBのなにか(Bluetooth?)、説明書(中文)、保証書(中文)。



大きさ


日経Linuxと比較。雑誌の横幅がSmartQの縦と同じぐらい。










ついでに、NDSL、PSPとも比較。













スピーカは、本体裏面についている。音は悪い。


スタイラスが本体に収納されている。少しショボい。


動作は。キビキビとまではいかないまでも、以外と動く。


vfatでフォーマットしたUSBメモリを挿すと、勝手に認識して、読み書きOKだった。


1時間30分ほどで、満充電。いつまでもつのか?


詳しい説明書らしきファイルが本体に入っていたが、中文でまったく読めない。





次にやりたいこと

英語の説明書を探す。


バージョンアップ?


日本語化してみる。


SDからのブートをしてみる。


日経Linux2009年9月号に日本語化の記事が出ていたらしいので、探してみる。


Android動かしたい。











参考になるサイト

Smart Q 5 - おなかすいたWiki!


smartdevice.cn.comのダウンロードページ


2009/07/31 smartQ 情報源 - One Chip Design


2009年9月2日水曜日

Android開発環境の導入



Installing the Android SDK


右上のリストで"English"を"日本語"にすると、日本語で表示される。





以下の内容は、少し古くなっています。Installing and Updating ADT - Android Developers11月29日の日記をご覧ください。ADVの作り方が変わっています。





1.AndroidSDKをインストール(android-sdk-windows-*\toolsにパスを通す)


  toolsの"android.bat"をコマンドプロンプトから起動。色々オプションがある。


  初回起動時は、ADVというものを作る。


  "android.bat list target" でエミュレートするAndroidの種類が見られる。


  "android.bat create avd -n emu1 -t 3 -c 32M"


    -t ターゲットの種類。上のlistで見たものから。


    -n 名前。適当に。


    -c SDカードのイメージを作る。サイズを指定。


  コマンドプロンプトから"emulator.exe @emu1"で起動。リンク先を"emulator.exe @emu1"としたショートカットを作っておくと便利かも





2.JDKをインストール





3.Eclipseをインストール(Eclipse IDE for Java Developers)


日本語化





4.ADTのインストール(Eclipseのヘルプ-Install New Softwareから)


  "Work with"に https://dl-ssl.google.com/android/eclipse/


  Developer Tools以下、すべてをインストール。(DDMSも)





5.Eclipseの設定


ウィンド-設定でAndroidを選択。"SDK Location"にSDKのディレクトリを指定。





マルチディスプレイ環境で便利なアプリ






WindowTeleport


アクティブなウィンドウを他のディスプレイに送るアプリ


ホットキーを設定して、アクティブなウィンドウを移動できる。





MultiWallpaper-乗りれ ソフトページ-G-SCE


各ディスプレイに壁紙を設定できるアプリ


サブのディスプレイが縦長でもきちんと設定できる。