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

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

(追記 end)


2012/03/27 追記

最新のversion 2012.0325.1版を掲載しました。

————————————————–
MIPS Androidで動作するnicoWnnGを2011/12/06時点での最新版(Version 2011.1205.1)にアップデートしました。

ダウンロード: nicoWnnG-2012.0325.1-mips.apk
ダウンロード: nicoWnnG-2011.1205.1-mips.apk

[注意事項]
この独自ビルド版nicoWnnGの配布にあたり、GORRYさんに許可を取っています。

この独自ビルド版nicoWnnGは、ソースの変更を行っていません。コンパイル時にMIPS/MIPS-R2用のバイナリを作成するようにしただけのものです。

オリジナルのnicoWnnGがすでにインストールされていると、こちらの独自ビルド版はインストールに失敗します。
逆に、こちらの独自ビルド版があると、オリジナルのインストールに失敗します。
これは、この独自ビルド版は、オリジナルのnicoWnnGと同じソース・パッケージ名で作成されていますが、署名が異なっていることによるものです。
といっても、現状のオリジナル版はMIPS用のライブラリが内蔵されていないので、そもそものインストールに失敗するので、支障は無いですが・・・

なお、今回の独自ビルド版では、MIPS、MIPS-R2用のバイナリのみとし、オリジナル版に含まれるARM,x86用バイナリを削除しています。

ronzi(溶智) A3での動作確認をしました。

それ以外の機種での動作は未確認です。
とりあえずMIPS-R2用バイナリを追加してはいますが、AMT-7001搭載のICCO T22とかでは動かない可能性は高そうです。

旧バージョン:
2011.1115.1版
2011.0823.2版
2011.0503.1版

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

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 2.2がソースからコンパイルできた

いままでMIPS Androidをコンパイルしようとすると、libwebcore.soでエラーとなっていた。
どうにもこうにも解消できずに、ronzi A3を買ってからずーっと、放置状態だったのですが、解決方法がわかりました。

「make NOCCACHE=yes」でCCACHEを使わないでコンパイルするといいんだとか。
make cleanをしたあと、これを実行したらコンパイルに成功しました。

以下は、エラーが起きたときのログです。

$ make
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.2.1
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=mips
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=FRG83-M8
============================================
Header: out/target/product/generic/obj/include/libpng/png.h
Header: out/target/product/generic/obj/include/libpng/pngconf.h
<略>
target mips C++: libv8 <= out/target/product/generic/obj/STATIC_LIBRARIES/libv8_intermediates/libraries.cc
target mips C++: libv8 <= out/target/product/generic/obj/STATIC_LIBRARIES/libv8_intermediates/experimental-libraries.cc
target StaticLib: libv8 (out/target/product/generic/obj/STATIC_LIBRARIES/libv8_intermediates/libv8.a)
target SharedLib: libwebcore (out/target/product/generic/obj/SHARED_LIBRARIES/libwebcore_intermediates/LINKED/libwebcore.so)
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(HistoryItem.o): In function `WTF::RefCounted<WebCore::SerializedScriptValue>::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/wtf/RefCounted.h:109: undefined reference to `WebCore::SerializedScriptValue::~SerializedScriptValue()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/wtf/RefCounted.h:109: undefined reference to `WebCore::SerializedScriptValue::~SerializedScriptValue()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(History.o): In function `WTF::RefCounted<WebCore::SerializedScriptValue>::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/wtf/RefCounted.h:109: undefined reference to `WebCore::SerializedScriptValue::~SerializedScriptValue()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(String.o): In function `UString':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UString.h:232: undefined reference to `JSC::UString::s_nullRep'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(String.o): In function `String':
/home/ronzi/mipsandroid/external/webkit/WebCore/platform/text/String.cpp:709: undefined reference to `JSC::UString::s_nullRep'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(StringImpl.o):/home/ronzi/mipsandroid/external/webkit/WebCore/platform/text/StringImpl.cpp:995: undefined reference to `JSC::UString::UString(unsigned short const*, int)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(StringImpl.o):/home/ronzi/mipsandroid/external/webkit/WebCore/platform/text/StringImpl.cpp:979: undefined reference to `JSC::UStringImpl::sharedBuffer()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(ScriptControllerBase.o): In function `gcProtect':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/Protect.h:32: undefined reference to `JSC::Heap::protect(JSC::JSValue)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(ScriptControllerBase.o):/home/ronzi/mipsandroid/external/webkit/WebCore/bindings/js/StringSourceProvider.h:41: undefined reference to `JSC::UString::UString(unsigned short const*, int)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(ScriptControllerBase.o): In function `JSC::UStringImpl::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(ScriptControllerBase.o): In function `gcUnprotect':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/Protect.h:37: undefined reference to `JSC::Heap::unprotect(JSC::JSValue)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(ScriptControllerBase.o): In function `gcProtect':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/Protect.h:32: undefined reference to `JSC::Heap::protect(JSC::JSValue)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(ScriptControllerBase.o): In function `JSC::UStringImpl::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(ScriptControllerBase.o):/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: more undefined references to `JSC::UStringImpl::~UStringImpl()' follow
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(ScriptControllerBase.o): In function `lookup<WebCore::DOMWrapperWorld*, WTF::RefPtrHashMapRawKeyTranslator<WebCore::DOMWrapperWorld*, std::pair<WTF::RefPtr<WebCore::DOMWrapperWorld>, JSC::ProtectedPtr<WebCore::JSDOMWindowShell> >, WTF::PairHashTraits<WTF::HashTraits<WTF::RefPtr<WebCore::DOMWrapperWorld> >, WTF::HashTraits<JSC::ProtectedPtr<WebCore::JSDOMWindowShell> > >, WTF::PtrHash<WTF::RefPtr<WebCore::DOMWrapperWorld> > > >':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/wtf/HashTable.h:502: undefined reference to `WebCore::ScriptController::initScript(WebCore::DOMWrapperWorld*)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(ScriptControllerBase.o): In function `WebCore::ScriptController::windowShell(WebCore::DOMWrapperWorld*)':
/home/ronzi/mipsandroid/external/webkit/WebCore/bindings/js/ScriptController.h:78: undefined reference to `WebCore::ScriptController::initScript(WebCore::DOMWrapperWorld*)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(ScriptControllerBase.o):/home/ronzi/mipsandroid/external/webkit/WebCore/bindings/ScriptControllerBase.cpp:90: undefined reference to `WebCore::ScriptValue::getString(JSC::ExecState*, WebCore::String&) const'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(ScriptControllerBase.o): In function `WebCore::ScriptController::windowShell(WebCore::DOMWrapperWorld*)':
/home/ronzi/mipsandroid/external/webkit/WebCore/bindings/js/ScriptController.h:78: undefined reference to `WebCore::ScriptController::initScript(WebCore::DOMWrapperWorld*)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(ScriptControllerBase.o): In function `gcUnprotect':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/Protect.h:37: undefined reference to `JSC::Heap::unprotect(JSC::JSValue)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(MessageEvent.o): In function `WTF::RefPtr<WebCore::SharedSerializedData>::operator WebCore::SharedSerializedData* WTF::RefPtr<WebCore::SharedSerializedData>::*() const':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/wtf/RefPtr.h:70: undefined reference to `WebCore::SerializedScriptValueData::tearDownSerializedData()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(MessageEvent.o): In function `WTF::RefCounted<WebCore::SerializedScriptValue>::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/wtf/RefCounted.h:109: undefined reference to `WebCore::SerializedScriptValue::~SerializedScriptValue()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/wtf/RefCounted.h:109: undefined reference to `WebCore::SerializedScriptValue::~SerializedScriptValue()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/wtf/RefCounted.h:109: undefined reference to `WebCore::SerializedScriptValue::~SerializedScriptValue()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(MessagePort.o): In function `WTF::RefCounted<WebCore::SerializedScriptValue>::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/wtf/RefCounted.h:109: undefined reference to `WebCore::SerializedScriptValue::~SerializedScriptValue()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/wtf/RefCounted.h:109: undefined reference to `WebCore::SerializedScriptValue::~SerializedScriptValue()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(MessagePort.o):/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/wtf/RefCounted.h:109: more undefined references to `WebCore::SerializedScriptValue::~SerializedScriptValue()' follow
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(MessagePortChannel.o): In function `~SerializedScriptValueData':
/home/ronzi/mipsandroid/external/webkit/WebCore/bindings/js/SerializedScriptValue.h:77: undefined reference to `WebCore::SerializedScriptValueData::tearDownSerializedData()'
/home/ronzi/mipsandroid/external/webkit/WebCore/bindings/js/SerializedScriptValue.h:77: undefined reference to `WebCore::SerializedScriptValueData::tearDownSerializedData()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(MessagePortChannel.o): In function `WTF::RefCountedBase::derefBase()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/wtf/RefCounted.h:69: undefined reference to `WebCore::SerializedScriptValue::~SerializedScriptValue()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(MessagePortChannel.o): In function `WTF::RefCounted<WebCore::SerializedScriptValue>::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/wtf/RefCounted.h:109: undefined reference to `WebCore::SerializedScriptValue::~SerializedScriptValue()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(PopStateEvent.o): In function `WTF::RefCounted<WebCore::SerializedScriptValue>::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/wtf/RefCounted.h:109: undefined reference to `WebCore::SerializedScriptValue::~SerializedScriptValue()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/wtf/RefCounted.h:109: undefined reference to `WebCore::SerializedScriptValue::~SerializedScriptValue()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/wtf/RefCounted.h:109: undefined reference to `WebCore::SerializedScriptValue::~SerializedScriptValue()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(ScriptExecutionContext.o):/home/ronzi/mipsandroid/external/webkit/WebCore/dom/ScriptExecutionContext.cpp:272: undefined reference to `WebCore::JSDOMWindowBase::commonJSGlobalData()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(PlatformMessagePortChannel.o): In function `WTF::RefCounted<WebCore::SerializedScriptValue>::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/wtf/RefCounted.h:109: undefined reference to `WebCore::SerializedScriptValue::~SerializedScriptValue()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/wtf/RefCounted.h:109: undefined reference to `WebCore::SerializedScriptValue::~SerializedScriptValue()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/wtf/RefCounted.h:109: undefined reference to `WebCore::SerializedScriptValue::~SerializedScriptValue()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(BackForwardList.o): In function `~SerializedScriptValueData':
/home/ronzi/mipsandroid/external/webkit/WebCore/bindings/js/SerializedScriptValue.h:77: undefined reference to `WebCore::SerializedScriptValueData::tearDownSerializedData()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(BackForwardList.o): In function `WTF::RefCounted<WebCore::SerializedScriptValue>::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/wtf/RefCounted.h:109: undefined reference to `WebCore::SerializedScriptValue::~SerializedScriptValue()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(V8NodeIteratorCustom.o):/home/ronzi/mipsandroid/external/webkit/WebCore/bindings/v8/custom/V8NodeIteratorCustom.cpp:67: undefined reference to `WebCore::NodeIterator::nextNode(WebCore::ScriptState*, int&)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(V8NodeIteratorCustom.o):/home/ronzi/mipsandroid/external/webkit/WebCore/bindings/v8/custom/V8NodeIteratorCustom.cpp:78: undefined reference to `WebCore::NodeIterator::previousNode(WebCore::ScriptState*, int&)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(V8TreeWalkerCustom.o):/home/ronzi/mipsandroid/external/webkit/WebCore/bindings/v8/custom/V8TreeWalkerCustom.cpp:84: undefined reference to `WebCore::TreeWalker::lastChild(WebCore::ScriptState*)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(V8TreeWalkerCustom.o):/home/ronzi/mipsandroid/external/webkit/WebCore/bindings/v8/custom/V8TreeWalkerCustom.cpp:124: undefined reference to `WebCore::TreeWalker::previousSibling(WebCore::ScriptState*)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(V8TreeWalkerCustom.o):/home/ronzi/mipsandroid/external/webkit/WebCore/bindings/v8/custom/V8TreeWalkerCustom.cpp:74: undefined reference to `WebCore::TreeWalker::firstChild(WebCore::ScriptState*)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(V8TreeWalkerCustom.o):/home/ronzi/mipsandroid/external/webkit/WebCore/bindings/v8/custom/V8TreeWalkerCustom.cpp:64: undefined reference to `WebCore::TreeWalker::parentNode(WebCore::ScriptState*)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(V8TreeWalkerCustom.o):/home/ronzi/mipsandroid/external/webkit/WebCore/bindings/v8/custom/V8TreeWalkerCustom.cpp:114: undefined reference to `WebCore::TreeWalker::nextSibling(WebCore::ScriptState*)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(V8TreeWalkerCustom.o):/home/ronzi/mipsandroid/external/webkit/WebCore/bindings/v8/custom/V8TreeWalkerCustom.cpp:104: undefined reference to `WebCore::TreeWalker::previousNode(WebCore::ScriptState*)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(V8TreeWalkerCustom.o):/home/ronzi/mipsandroid/external/webkit/WebCore/bindings/v8/custom/V8TreeWalkerCustom.cpp:94: undefined reference to `WebCore::TreeWalker::nextNode(WebCore::ScriptState*)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(XMLHttpRequest.o): In function `JSC::UStringImpl::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(XMLHttpRequest.o):/home/ronzi/mipsandroid/external/webkit/WebCore/xml/XMLHttpRequest.cpp:636: undefined reference to `WebCore::hasCachedDOMObjectWrapper(JSC::JSGlobalData*, void*)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(XMLHttpRequest.o): In function `JSC::Heap::reportExtraMemoryCost(unsigned int)':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/Collector.h:271: undefined reference to `JSC::Heap::recordExtraCost(unsigned int)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(XMLHttpRequest.o): In function `ScriptString':
/home/ronzi/mipsandroid/external/webkit/WebCore/bindings/js/ScriptString.h:45: undefined reference to `JSC::UString::UString(char const*)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(XMLHttpRequest.o):/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/StringBuilder.h:72: undefined reference to `JSC::UStringImpl::s_empty'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(XMLHttpRequest.o): In function `JSC::UStringImpl::empty()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:179: undefined reference to `JSC::UStringImpl::s_empty'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(XMLHttpRequest.o): In function `JSC::UStringImpl::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(XMLHttpRequest.o): In function `WebCore::ScriptString::operator=(char const*)':
/home/ronzi/mipsandroid/external/webkit/WebCore/bindings/js/ScriptString.h:55: undefined reference to `JSC::UString::UString(char const*)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(XMLHttpRequest.o): In function `JSC::UStringImpl::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(XMLHttpRequest.o): In function `WebCore::ScriptString::operator=(char const*)':
/home/ronzi/mipsandroid/external/webkit/WebCore/bindings/js/ScriptString.h:55: undefined reference to `JSC::UString::UString(char const*)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(XMLHttpRequest.o): In function `JSC::UStringImpl::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(XMLHttpRequest.o): In function `WebCore::ScriptString::operator=(char const*)':
/home/ronzi/mipsandroid/external/webkit/WebCore/bindings/js/ScriptString.h:55: undefined reference to `JSC::UString::UString(char const*)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(XMLHttpRequest.o): In function `JSC::UStringImpl::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `JSC::Bindings::JavaStringImpl::init(_JNIEnv*, _jstring*)':
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:58: undefined reference to `JSC::UString::UString(unsigned short const*, int)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `JSC::UStringImpl::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `~JavaStringImpl':
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:44: undefined reference to `JSC::CString::~CString()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `JSC::UStringImpl::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `~JavaStringImpl':
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:44: undefined reference to `JSC::CString::~CString()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `JSC::UStringImpl::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `~JavaStringImpl':
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:44: undefined reference to `JSC::CString::~CString()'
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:44: undefined reference to `JSC::CString::~CString()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `JSC::UStringImpl::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `~JavaStringImpl':
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:44: undefined reference to `JSC::CString::~CString()'
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:44: undefined reference to `JSC::CString::~CString()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `JSC::UStringImpl::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `UString':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UString.h:232: undefined reference to `JSC::UString::s_nullRep'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UString.h:232: undefined reference to `JSC::UString::s_nullRep'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `operator=':
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:38: undefined reference to `JSC::CString::operator=(JSC::CString const&)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `~JavaStringImpl':
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:44: undefined reference to `JSC::CString::~CString()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `operator=':
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:38: undefined reference to `JSC::CString::operator=(JSC::CString const&)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `~JavaStringImpl':
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:44: undefined reference to `JSC::CString::~CString()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `UString':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UString.h:232: undefined reference to `JSC::UString::s_nullRep'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `operator=':
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:38: undefined reference to `JSC::CString::operator=(JSC::CString const&)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `~JavaStringImpl':
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:44: undefined reference to `JSC::CString::~CString()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `UString':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UString.h:232: undefined reference to `JSC::UString::s_nullRep'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `operator=':
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:38: undefined reference to `JSC::CString::operator=(JSC::CString const&)'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `~JavaStringImpl':
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:44: undefined reference to `JSC::CString::~CString()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `JSC::Bindings::JavaStringImpl::UTF8String() const':
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:67: undefined reference to `JSC::UString::UTF8String(bool) const'
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:67: undefined reference to `JSC::CString::operator=(JSC::CString const&)'
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:67: undefined reference to `JSC::CString::~CString()'
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:67: undefined reference to `JSC::UString::UTF8String(bool) const'
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:67: undefined reference to `JSC::CString::operator=(JSC::CString const&)'
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:67: undefined reference to `JSC::CString::~CString()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `JSC::UStringImpl::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o):/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: more undefined references to `JSC::UStringImpl::~UStringImpl()' follow
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `derefIfNotNull<JSC::UStringImpl>':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/wtf/PassRefPtr.h:52: undefined reference to `JSC::UString::s_nullRep'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `JSC::UStringImpl::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `JSC::Bindings::JavaStringImpl::UTF8String() const':
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:67: undefined reference to `JSC::UString::UTF8String(bool) const'
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:67: undefined reference to `JSC::CString::operator=(JSC::CString const&)'
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:67: undefined reference to `JSC::CString::~CString()'
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:67: undefined reference to `JSC::UString::UTF8String(bool) const'
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:67: undefined reference to `JSC::CString::operator=(JSC::CString const&)'
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:67: undefined reference to `JSC::CString::~CString()'
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:67: undefined reference to `JSC::UString::UTF8String(bool) const'
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:67: undefined reference to `JSC::CString::operator=(JSC::CString const&)'
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:67: undefined reference to `JSC::CString::~CString()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `JSC::UStringImpl::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `JSC::Bindings::JavaStringImpl::UTF8String() const':
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:67: undefined reference to `JSC::UString::UTF8String(bool) const'
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:67: undefined reference to `JSC::CString::operator=(JSC::CString const&)'
/home/ronzi/mipsandroid/external/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h:67: undefined reference to `JSC::CString::~CString()'
out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a(JNIBridge.o): In function `JSC::UStringImpl::deref()':
/home/ronzi/mipsandroid/external/webkit/JavaScriptCore/runtime/UStringImpl.h:164: undefined reference to `JSC::UStringImpl::~UStringImpl()'
collect2: ld returned 1 exit status
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libwebcore_intermediates/LINKED/libwebcore.so] エラー 1
$

If you occurred same problem
Please run “make clean” and “make NOCCACHE=yes”!

ViXS XCode 4210搭載のMIPS Android?

調べてみたら、ViXS社というところからも、Android用途にMIPSコアを使用したCPUが出ているようだ。

MIPS社プレスリリースから:Android™プラットフォーム、ネットワーク家電機器向けのMIPS®アーキテクチャで更に勢いを増す MIPS-Based™ ViXS XCode®4210チップセットで動作するAndroidをCOMPUTEXで公開
ViXS社プレスリリースから一例:ViXS Systems Announces XCode 4210 Set-top Box Security Certification with Conax

ここで使われているものは、XCode 4210というチップ。
製品紹介のページにある過去のプレスリリース内容をみると、タブレット向けではなく、ボックスタイプ向けの模様。

ただ、いまのところ、ボックスタイプとしても発売されている例は無いようだ。
今後に期待。

— 2012/07/19 追記 —
ソニーから発売されたnasneに採用されたようですね。
インプレスAV Watch:「nasne」のハードウェアをチェック。分解してみた

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」です。