Android @ N900


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

愛用の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が起動してくる。

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