衝動的に少し大きめのUSB Stickサイズでとても小さい中華Android端末mk802を買ってしまいました。
- CPUはCPUはAllwinner A10というCortex A8(ややこしい)の1Ghz
- memoryは1MB、内蔵Flashが4GB
- I/FはUSB HostとOTG, HDMIとWifiとMicroSDスロット。
- TVにHDMIケーブルで接続しUSBマウスを挿せばAndroid 4.0.3。
Google Playにもつながりますし最初からrootは取れてるしとなかなか遊べそうですが、一番惹かれたのはMicroSDにUbuntuやPuppy LinuxをインストールすればLinuxが起動するという話。
- よくわかってないBlog その2 : 「Android 4.0 Mini PC」MK802でubuntuを起動してみた。
- Miniand Tech - your one stop shop for mini PCs and hobby tech
ところがddでイメージを書き込んで起動してもTVの画面は真っ黒のままです。何度かイメージを変えて試してみましたが改善しません。で色々探してみると...
どうやらPlazma TVだと周波数が合わないらしくウチのpanasonicのTVに合うかと思った720@50Hzはダメらしいとのこと。
これを何とかするには起動時にI/Oを設定するためのファイルevb.binとやらを弄ればなんとかなりそう。
解決は以下のとおり。全て作業はLinuxマシン上で、
- amery/sunxi-toolsをインストール。git cloneで落としてmakeでOK
- 上記リストのUbuntu等のディスクイメージを入れたSDの最初のパーティションをマウント
- ルートにあるevb.binをローカルにコピー
- bin2fex evb.bin > evb.fex などとしてテキストに変換
- [disp_init]セクションのscreen0_output_mode =4を5に。
これで720@60Hzになります。 - fexc evb.fex > evb.bin
- 念のため元のSDカードのevb.binをリネームしてから6のevb.binをコピー
- syncしてumount
以上で720@60Hz対応の完了。ちなみにmodeの5は中国語のドキュメントから引っ張った値。
これで無事Lubuntuの画面が出ました。使っているとエラーが色々出たりしますし特にストレージがかなり遅いので実用的かどうか微妙ですがCortex A8 1Ghzなので動いてしまえば結構使える感じです。GPUがフルパワーでないらしくAndroidで使うより低発熱なのでサーバーイメージを作ってヘッドレスで運用したいですね。