[Armadillo:06835] Armadillo440でAndroidをNFSブートする

Kaori Hashizume email@hidden
2011年 2月 24日 (木) 10:57:26 JST


橋爪です。
お世話になっております。

Armadillo440にAndroidをポーティングする際
NFSサーバにあるAndroidのrootファイルシステムから起動したいのですが
NFSサーバーからの応答がなくkernel panic になってしまいます。

こちらの環境について説明します。

開発用ホストPC:::Ubuntu 10.04 on VMWarePlayer(ネットワーク設定はNAT)
ターゲットボード:::Armadillo440(192.168.10.11)と開発用ホストPC(192.168.
10.10)は有線LANで接続しています。

御社開発者サイトの
「Armadillo-440 で Android を使ってみる」
の手順(一部異なりますが)でのSDカードからのブートは成功しております。

(サイトと違う手順)
AndroidのバージョンはFroyo。
起動後はIPアドレスが0.0.0.0になってしまうため
起動用スクリプトのinit.armadillo440.rcで固定IPアドレスを設定するシェルスクリ
プトを呼んで設定しています。
/init.armadillo440.rc
	(中略)
	service lan-setup /system/etc/init.armadillo440.sh
		onshot

/system/etc/init.armadillo440.sh
	#!/system/bin/sh
	ifconfig eth0 192.168.10.11

Android用のカーネルはnetflashは使用せずにhermitツールでメモリのkernel領域に
書き込んでいます。
Androidの起動はhermitから起動オプションを以下のように設定し起動しています。
hermit> setenv console=ttymxc1 root=/dev/mmcblk0p2 init=/init noinitrd
rootwait
hermit>boot

上記の方法でSDカードからの起動はできています。
開発用ホストPCからのadbリモート接続もできたので特に問題はありませんでした。

次にNFSブートのために以下のようなことを行いました。

【開発用ホストPC】
1./home/hoge/root配下にSDカードに入ってるルートファイルシステムのファイル
類を置く
2.nfs-kernel-serverをインストール
3./etc/exportsを以下のように記述
/home/hoge/root 192.168.10.11(rw,no_root_squash,sync)
4.$ sudo exportfs -r
  $ sudo /etc/init.d/nfs-kernel-server restart
  $ sudo /etc/init.d/nfs-kernel-server restart
     running


【armadillo440】
Android用のカーネルのコンフィギュレーションでNETWORK_FILESYSTEMS関連の設定を
有効にしリビルドしたものを
hermitツールでメモリのkernel領域に書き込み
Androidの起動はhermitから起動オプションを以下のように設定し起動
hermit> setenv console=ttymxc1,115200 root=/dev/nfs rw
nfsroot=192.168.10.10:/home/hoge/root init=/init ip=192.168.10.11 noinitrd
hermit> boot

【ブートログ】
 :
(中略)
 :
IP-Config: Guessing netmask 255.255.255.0
IP-Config: Complete:
     device=eth0, addr=192.168.10.11, mask=255.255.255.0,
gw=255.255.255.255,
     host=192.168.10.11, domain=, nis-domain=(none),
     bootserver=255.255.255.255, rootserver=192.168.10.10, rootpath=
Looking up port of RPC 100003/2 on 192.168.10.10
eth0: link up, 100Mbps, full-duplex
rpcbind: server 192.168.10.10 not responding, timed out
Root-NFS: Unable to get nfsd port number from server, using default
Looking up port of RPC 100005/1 on 192.168.10.10
rpcbind: server 192.168.10.10 not responding, timed out
Root-NFS: Unable to get mountd port number from server, using default
mount: server 192.168.10.10 not responding, timed out
Root-NFS: Server returned error -5 while mounting /home/aj741327/android
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs" or unknown-block(2,0)
kernel panic

Armadillo500fxの時はNFSブートでも起動したのですが
440の場合はできないのでしょうか?

どこか上記の手順で不備があるのでしょうか?
ご教授ください。

よろしくお願いいたします。




armadillo メーリングリストの案内