Android @ N900

f:id:kuma-tetsu:20100614205234j:image

今日のエントリーは、危険です。読んで意味のわからない人は、立ち入らないように。

愛用のN900がレンガになっても、連続リブートになっても、冷静にフラッシュできる心構えと対処スキルが最低限必要です。

私は一度レンガになりましたw。

参考サイト(てか、ほぼ丸写しですが) http://talk.maemo.org/showthread.php?t=49811&page=94

必要なもの

PC Linux上で下記をダウンロードして準備(NITDroid rootfs と kernel)

wget http://www.loadsofspace.net/NITDroid-0.0.3-1-Eclair-WiFi.tbz2
wget http://www.loadsofspace.net/zImage-0.0.3

(ファイルが古くなってるかもしれないので上記参考サイトで確認)

まずN900上での作業

a) app.Mngにextras develレポジトリを有効にする

b) bootmenu-n900をインストールする

sudo apt-get install bootmenu-n900

c) NITDroid用ブートメニュー作成

sudo vi /etc/bootmenu.d/android.etc.item

android.etc.item内容(microSDの第2パーティションにインストールの例)

ITEM_NAME="Android (external SD, partition 2)"
ITEM_ID="android3"
ITEM_DEVICE="${EXT_CARD}p2"
ITEM_MODULES="mbcache jbd ext3 fat vfat"
ITEM_FSTYPE="ext3"
ITEM_FSOPTIONS="noatime"

N900起動時にキーボードを開いてるとメニューが表示されれば成功。

ここから、PC Linux上での作業。

1) microSDにrootfs用のパーティションを作成

microSDの第2パーティションに fdisk なり QtParted なり gparted なり で 1GB以上のLinuxパーティションを作成。

以下、mmcblk1がSDです。PC Linux環境により異なりますので読み替えてください。

sudo sfdisk -l
   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/mmcblk1p1          1    3618    3618   29061585    c  W95 FAT32 (LBA)
/dev/mmcblk1p2       3619    3879     261    2096482+  83  Linux
こんな感じで2GB程確保してみた。

ext3で、フォーマット

sudo mke2fs -j /dev/mmcblk1p2 -m0

2) microSDにrootfsをぶち撒ける

上で確保した領域をどこかにマウントする。(下記は、/mnt/cardにマウントして作業してます。)

sudo mount /dev/mmcblk1p2 /mnt/card
sudo cd /mnt/card
sudo /usr/bin/gnu/tar xjvvpf DLファイル置場\NITDroid-0.0.3-1-Eclair-WiFi.tbz2

microSDを取り外してN900に取り付ける

3) カーネルの書き込み*1

flasher-3.5 --enable-rd-mode --set-rd-flags=no-lifeguard-reset,no-ext-wd -f -k DLファイル置場\zImage-0.0.3 -R

N900の電源を落とした状態でキーボードのUを押しながらmicroUSBケーブルを接続。

以上で作業終了。キーボードを開いた状態で起動させbootmenuでAndroidを選ぶ。うまく言ってるとAndroidが起動してくる。

f:id:kuma-tetsu:20100614205302j:image

MAEMOよりさくさく動く・・・w 現状電話とかは動きません。

サポートされてる機能は↓ここらへん参照。

https://sites.google.com/site/nitdroid/n900-1

Androidを終了させるには電源SW長押しでメニューが出てきます。キーボード閉じて再起動させるか、bootmenuで内部フラシュを選べばmaemoに戻れます。

*1:元のカーネルに戻すには(PR1.2の場合)
flasher-3.5 -f -F RX-51_2009SE_10.2010.19-1_PR_COMBINED_MR0_ARM.bin --flash-only=kernel -R

Mono 2.4.3 on Maemo5

久しぶりに日記更新。C#って何って私ですが、.NETは聞いたことがある。マックロソフトとSun Javaの決別で生まれた産物。興味は全くなかったんだが .NETのサブセットをUNIX上で動かそうというのがMono Project

N900用にポーティングしている人がいたのでインストールして遊んでみた。

(参考) http://talk.maemo.org/showthread.php?t=47400&page=3

AppMngレポジトリに

deb http://www.torosoft.com/mono-maemo5 fremantle binary

登録するとapt-get 出来るようだが、一部うまく行かなかったので、個別でファイルダウンロードしてインストール。

wget http://www.torosoft.com/mono-maemo5/dists/fremantle/binary/binary-armel/mono-runtime_2.4.3-1_armel.deb
dpkg -i mono-runtime_2.4.3-1_armel.deb

等、どれが必要だったのかよくわからないけど結局

mono-runtime

mono-mcs

mono-gmcs

libgdiplus

libglade2-0

libmono-accessibility1.0-cil

libmono-accessibility2.0-cil

libmono-cairo2.0-cil

libmono-corlib1.0-cil

libmono-corlib2.0-cil

libmono-posix1.0-cil

libmono-posix2.0-cil

libmono-system-data2.0-cil

libmono-system-messaging2.0-cil

libmono-system-runtime2.0-cil

libmono-system1.0-cil

libmono-system2.0-cil

libmono-winforms1.0-cil

libmono-winforms2.0-cil

あたりをインストールしている。

サンプルソース(コンソールアプリ)で動作テスト。

Nokia-N900% cat hello.cs
using System;

class HelloWorld
{
  [STAThread]
  static void Main(string[] args)
  {
    Console.WriteLine("Hello World!");
  }
}
Nokia-N900% mcs hello.cs
Nokia-N900% mono hello.exe
Hello World!

サンプルソース(WinFormsアプリ)のテスト。

Nokia-N900% cat winforms.cs
using System;
using System.Windows.Forms;

public class HelloForm : Form
{
    public static void Main()
    {
        Application.Run(new HelloForm());
    }

    public HelloForm()
    {
        TextBox textBox1 = new TextBox();
        textBox1.Text = "こんにちは、世界!";
        this.Controls.Add(textBox1);
    }
}
Nokia-N900% mcs -r:System.Windows.Forms -r:System.Drawing winforms.cs
Nokia-N900% mono winforms.exe

f:id:kuma-tetsu:20100619172724p:image

こんなのも!(てかこれが目的)

YOPViewer.NET @七誌の開発日記 さん

からソースを貰ってきてgmcsでコンパイルすると、

f:id:kuma-tetsu:20100619170354j:image

スクロールは結構サクサク動く。

N900 Evernote Sharing Plugin

最近話題のメモ管理システムEvernote。N900用のプラグインが用意されているようなので、試用してみた。

http://www.evernote.com/about/intl/jp/ から、アカウント作成。

ovi storeからEvernote Sharing Pluginを探して、インストール。(apt-getからは、エラーでインストールできなかった)

f:id:kuma-tetsu:20100317025029p:image

f:id:kuma-tetsu:20100317025105j:image

Photos -> <アイコン -> Share via service の中に Evernoteが追加

f:id:kuma-tetsu:20100317024948p:image

単純にWebインターフェースのショートカット+Shareプラグインの様で、iPhone用のようにローカルと同期ができる訳ではなさそう。

WILLCOMを振り返る

フォトレポート:今だから振り返りたい、ウィルコムの名機たち:ニュース - CNET Japan

http://japan.cnet.com/news/tech/story/0,2000056025,20408882,00.htm

この中で使ってたのは

2003年4月 JRC AH-J3002V

2005年11月 京セラ WX310K 京ぽん2

2007年7月 シャープ Advanced/W-ZERO3[es](WS011SH

なつかしす。

ウィルコムは、ソフトバンクの支援で固まりそうなのかな。