Jz4770搭載のICSタブレットリリース予定

MIPSから「MIPS Technologies and Ingenic Semiconductor Announce Availability of World’s First Android™ ‘Ice Cream Sandwich’ Tablet 」というプレスリリースが出た

100ドル以下でAndroid 4.0/ICS搭載のタブレットが出てくるよー

という内容なわけですが、そこに触れられているのは、予想通りAinol NOVO7 Basicと思われる、Jz4700 1GHz搭載7インチマルチタッチのタブレット。

8インチと9インチのモデルもでてくるよー、とあるけど、それがAinolからなのか、それとも別のベンダからなのかは、ちょっとはっきりとしない書き方かな・・・

実際の動作の感じについては、YoutubeにMIPSが「Ice Cream Sandwich with MIPS 」という紹介動画をアップしていますが、こっちはあまり見るべきものがない感じです。

それよりは、Ainolの開発者とおぼしきtomx2hのblogの方が、ずっと見るべきものがあったりします。

まずは、Novo7普及版 君正JZ4770方案ICS冰激凌安卓4.0新图という記事で開発中のスクリーンキャプチャがアップされています。
(これと同じ内容はimp3.netのフォーラム「Novo7普及版 君正JZ4770方案ICS冰激凌安卓4.0新图」にもあります)

また、中国系動画サイトのYOUKUで、视频:全球首款安卓4平板,艾诺Novo7 Basic 君正方案平板上市では電源ONからいくつかの操作を。
そして、视频:艾诺Novo7 Basic版Android 4.0固件运行小窥ではいろいろなアプリの動作を紹介しています。

とりあえず、これらを見る限りでは順調そうな感じで開発が進んでいる模様。
一般公開が期待できる・・・・のかなぁ???

——————————————————

おまけ

いろいろなAndroid系ニュースでは、MIPSリリースに書いてある通りに「Android 4.0タブレットのNOVO7がすでに中国で販売している」というようなことを書いちゃってますが、現実にはまだ開発中でリリースされていません。

現状販売されているのは「Android 2.2もしくはAndroid 3.2搭載のNOVO7 Basic」で、「Android 4.0搭載のNOVO7 Basic」については、おそらく、現在はfirmware開発の最終段階でもうすぐリリースではなるものの、まだAndroid 4.0搭載バージョンが市場に出回っていません。

MIPS Android用にbusyboxをコンパイルする

MIPS Android内のbusyboxでapkを展開しようとすると、以下のエラーがでる。

# busybox unzip ../ni*apk
Archive:  ../nicoWnnG-2011.1115.1-mips.apk
unzip: zip flags 1 and 8 are not supported
#

まぁ、これは、MIPS Androidに限らずARM系でも同じ。
busyboxのコンパイルオプション変更でなんとかならないかなぁ、と調査。

BusyBoxからソースファイルを入手し、コンパイル。

横着してAndroid SDK for MIPS内のコンパイラを使おうとしたら失敗した。
かなり初期段階でエラーがでた。

バイナリ配布のMIPS用クロスコンパイラを探したところ、MIPS DeveloperのCompiler紹介ページで紹介されているCodeSourcery G++ Lite Compilerが良さそうだったので使う。

Sourcery CodeBench Lite 2011.03-93 for MIPS GNU/Linux からAdvanced PackagesのIA32 GNU/Linux TARをダウンロードし、適当なディレクトリに展開した。

$ wget https://sourcery.mentor.com/sgpp/lite/mips/portal/package9055/public/mips-linux-gnu/mips-2011.03-93-mips-linux-gnu-i686-pc-linux-gnu.tar.bz2
<略>
$  bzip2 -dc mips-2011.03-93-mips-linux-gnu-i686-pc-linux-gnu.tar.bz2|tar xf -
$ cd mips-2011.03/bin
$ export PATH=`pwd`:$PATH
$

そのあと、busyboxをダウンロードしたディレクトリに移動。

$ make defconfig
$ make menuconfig

menuconfigを使って、いろいろカスタマイズを実施。
「CONFIG_LZOP_COMPR_HIGH」が圧縮率関連のパラメータっぽいなぁ、とyに変更。
「CONFIG_CROSS_COMPILER_PREFIX=”mips-linux-gnu-“」というポイントを忘れずに。
その他変えたポイントは・・・

CONFIG_STATIC=y
CONFIG_CROSS_COMPILER_PREFIX="mips-linux-gnu-"
CONFIG_FEATURE_SEAMLESS_Z=y
CONFIG_LZOP_COMPR_HIGH=y
CONFIG_FEATURE_VI_8BIT=y
CONFIG_TUNE2FS=y

そして「make」
….
できあがり、転送したが、実行できないバイナリだった。

$ file busybox-test
busybox-test: ELF 32-bit MSB executable, MIPS, MIPS64 version 1 (SYSV), for GNU/Linux 2.6.12, statically linked, for GNU/Linux 2.6.12, stripped
$
# ./busybox-test
./busybox-test: 1: Syntax error: "(" unexpected
#

「CONFIG_EXTRA_CFLAGS=”-march=mips32″」も付け加えてみる・・・不可

おかしいなぁ、と探してみると、busyboxのページでバイナリ配布の1.19.0を発見
以下の3種類があった。

$ file *
busybox-mips:   ELF 32-bit MSB executable, MIPS, MIPS-I version 1 (SYSV), statically linked, stripped
busybox-mips64: ELF 64-bit MSB executable, MIPS, MIPS32 version 1 (SYSV), statically linked, stripped
busybox-mipsel: ELF 32-bit LSB executable, MIPS, MIPS-I version 1 (SYSV), statically linked, stripped
$

それぞれを、ronzi A3に転送して実行してみる。

# ./busybox-mips
./busybox-mips
./busybox-mips: 1: Syntax error: "(" unexpected
# ./busybox-mips ls
./busybox-mips ls
./busybox-mips: 1: Syntax error: "(" unexpected
# ./busybox-mips64 ls
./busybox-mips64 ls
./busybox-mips64: 1: Syntax error: newline unexpected
# ./busybox-mipsel ls
./busybox-mipsel ls
busybox         busybox-mips    busybox-mips64
 busybox-mipsel
#

実行できたのはbusybox-mipselでした。
つまり「ELF 32-bit LSB executable, MIPS, MIPS-I version 1 (SYSV)」のファイルのみ。
そういえば、とsuバイナリを見てみると「su: ELF 32-bit LSB executable, MIPS, MIPS64 version 1 (SYSV), dynamically linked (uses shared libs), stripped」
少なくとも「32-bit LSB」にする必要があるようだ。

$ make CFLAGS="-EL -march=mips32" LDFLAGS="-EL -march=mips32"
<略>
$ file busybox
busybox: ELF 32-bit LSB executable, MIPS, MIPS64 version 1 (SYSV), for GNU/Linux 2.6.12, statically linked, for GNU/Linux 2.6.12, stripped
$

目的とするものが作成されました。

そして、

# ./busybox unzip /sdcard/nico*apk
./busybox unzip /sdcard/nicoWnnG-2011.1115.1-mips.apk
Archive:  /sdcard/nicoWnnG-2011.1115.1-mips.apk
  inflating: META-INF/MANIFEST.MF
  inflating: META-INF/OSAKANAT.SF
  inflating: META-INF/OSAKANAT.RSA
  inflating: assets/and3ime.png
<略>

ということで、無事、apkファイルを展開できるunzip機能をもったbusyboxが完成しました。

これが何のために必要だったのかというと・・・

# ../busybox unzip /sdcard/nicoWnnG-2011.1115.1-mips.apk lib/mips/libnicoWnnGEngDic.so lib/mips/libnicoWnnGJpnDic.so lib/mips/libnicownngdict.so
Archive:  /sdcard/nicoWnnG-2011.1115.1-mips.apk
  inflating: lib/mips/libnicoWnnGEngDic.so
  inflating: lib/mips/libnicoWnnGJpnDic.so
  inflating: lib/mips/libnicownngdict.so
# ls
lib
#

というような感じで、カスタマイズ時に必要なlibファイルの取り出しを自動化できるように、ということだったります。

コンパイルしたバイナリをbusybox-1.19.3-mips.zipに置きました。
中身は「busyboxバイナリ」と「busyboxをコンパイルする際に使う.config」です。

Novo7 Basicのfirmware(転載,2011/11/17アップデート)

Novo7 Basic、Novo7 Advanceのfirmwareは、なんでかわかりませんが、数码听潮 人生看客というblogでも配布されています。

艾诺 Ainol Novo7普及版 君正 JZ4770 MIPS架构安卓3.2固件卡刷升级公测版
Android 3.2 2011/11/09版で、Android marketの停止問題が解消されているらしい。
入っているファイルは boot.img, mbr-xboot.bin, system.img
system.img内には recovery.cpio.img, userdata.imgがある。
転載

君正JZ4770方案MIPS架构艾诺ainol Novo7普及版2.2.1可能是最终固件公测
Android 2.2 2011/11/08版
入っているファイルは boot.img, npm701_x-boot-msc.bin, system.img
system.img内にboot.img, recovery.cpio.img, userdata.img, testsd.data が入っている。
転載

万众瞩目,全球首款千元以下安卓3.2设备要来了么?Novo7普及版君正JZ4770平板3.2正式固件公测
Android 3.2 2011/11/15版
転載

MIPS Android(JZ4760)用nicoWnnG version 2011.1115.1 独自ビルド版

(2013/06/21 追記 start)
最新版は「MIPS Android(JZ4760)用nicoWnnG version 2013.0425.1 独自ビルド版」にて配布中。

(追記 end)


— 以下、元の記事 —
MIPS Androidで動作するnicoWnnGを2011/11/15時点での最新版(Version 2011.1115.1)にアップデートしました。(2011/11/15 12:10: 2011.1111.1→2011.1115.1 に差し替えました)

ダウンロード: nicoWnnG-2012.0325.1-mips.apk
ダウンロード: nicoWnnG-2011.1111.1-mips-2.apk (23:15 署名を忘れていたのを修正しました)
ダウンロード: nicoWnnG-2011.1115.1-mips.apk

[注意事項]
オリジナルのnicoWnnGがすでにインストールされていると、こちらの独自ビルド版はインストールに失敗します。
逆に、こちらの独自ビルド版があると、オリジナルのインストールに失敗します。

これは、この独自ビルド版は、オリジナルのnicoWnnGと同じソース・パッケージ名で作成されていますが、署名が異なっていることによるものです。

といっても、オリジナル版はMIPS用のライブラリが内蔵されていないので、そもそものインストールに失敗しますが・・・
なお、今回の独自ビルド版では、MIPS、MIPS-R2用のバイナリのみとし、オリジナル版に含まれるARM,x86用バイナリを削除しています。

ronzi(溶智) A3での動作確認をしました。(2011/11/14 23:15)

それ以外の機種での動作は未確認です。
過去のバージョンではAMT-7001を積んだICOO T22では動作しなかったようですが、MIPS-R2用バイナリを追加したこのバージョンでは動くといいんですが・・・

旧バージョン:
2011.0823.2版
2011.0503.1版

独自ビルド版のトピック
・いままでAndroid NDK for MIPSのr5bでコンパイルしていましたが、r6mに変更しました。
・いままでMIPS r1用のバイナリのみでしたが、MIPS r2用のバイナリも含めました。
・apk容量削減のため、MIPS用バイナリのみとしました。
・全体の再コンパイルは行わず、libディレクトリのみをapktoolを使って入れ替えています。

MIPS Androidで動くアプリ

NOVO7 Basic関連でフォーラムを見ていたら、NOVO7 Basicで動くというアプリをまとめたものがあった。
[资源分享] [10月28日更新]Novo7普及版君正4770方案MIPS第三波资源分享加网友急需解决的应用程序

・第一波上传软件、游戏资源包地址: http://115.com/folder/f80f4938188#
Game.rar(20個のapk)とAinol_Mips_apks.rar(91個ぐらいのapk)

・第二波Novo7普及版常用软件单独APK整理,包括QQ for Pad 1.7等: http://115.com/folder/f8018bf3238#
 いろいろな単品apkファイル。48個のapk
 KingsoftOffice_V4.0.0.1.apkが動くらしい

・第三波重磅资源:51个在3.2安卓测试固件上实测OK的游戏资源,理论上应该2.2一样通用: http://115.com/folder/f7360580843#
 Android 3.2で動いたというゲーム群。51個のapk

ところで、最近、ronziのhttp://www.ieronzi.com/にアクセスできません。
つぶれたのかなぁ・・・