2010年02月03日
QEMUでのNFSの設定の仕方
QEMU上で動いているarmのLinuxとファイルをやりとりするときに、PCのLinuxをNFSサーバにしてファイルを共有するとラクです。
QEMUの場合、ちょっと特殊なオプションが必要でした。その方法を紹介します。
NFSサーバ側の設定
(参考: http://d.hatena.ne.jp/embedded/20081110/p1)
今回 /etc/exports 以下のようにしました。
/export 192.168.0.0/255.255.0.0(rw,no_root_squash,sync,insecure)
insecureのオプションをつけたのはqemuがポートをリダイレクトするためです。(詳細は補足のところで。)
QEMU上のarm linuxの設定
armel$ su # apt-get install nfs-common # mount 192.168.xx.xx:/export /mnt # df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 9954004 1237992 8210368 14% / tmpfs 63052 0 63052 0% /lib/init/rw udev 10240 556 9684 6% /dev tmpfs 63052 0 63052 0% /dev/shm 192.168.xx.xx:/export 78747648 18731008 56016384 26% /mnt #
カーネルモジュールを使わない方法で起動する場合は、カーネルのconfigでNetwork File Systemが組み込まれていることを確認してください。
補足
insecureのオプションをつけないとこんなエラーになりました。
QEMU上のarm linux側
# mount 192.168.xx.xx:/export /mnt mount.nfs: 192.168.xx.xx:/export failed, reason given by server: Permission denied
NFSホスト側
$ tail/var/log/syslog ... Feb 2 20:37:11 koba-linux mountd[629]: refused mount request from 192.168.xx.xx for /export (/export): illegal port 46660
"refused mount request illegal port" でGoogle検索をして以下のページを見つけました。
このページにでてきたinsecureのオプションをlinuxのmanで調べてみます。
$ man exports
としてinsecureで検索すると
The insecure option in this entry also allows clients with NFS implementations that don't use a reserved port for NFS.
NFSのために予約されたポート以外からの接続も許すというオプションということです。
これでetc/exports にinsecureオプションを追加したらうまくいくようになりました。
トラックバックURL
トラックバック一覧
1. クロス開発でのQEMU まとめ(基礎編) [ KMC Staff Blog ] 2010年09月16日 11:08
ここまでのQEMUの記事のリンク集です。
なお、CELFテクニカルジャンボリーにて、時間をいただきましたので、このあたりについて話をさせていただきます。
(3月5日 中野サンプラザ 入場無料) よろしければご参加ください。