[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 メーリングリストの案内