ホストマウント開発ボードのNFSファイルシステム
3059 ワード
紹介する
手にnanopiがあり、上に書いたドライバをテストしたいのですが、開発環境はホスト上にあり、テストを容易にするためにNFSサーバーを使って開発ボードフォルダをホスト上にマウントする必要があります.このフォルダは共有フォルダに相当し、書いたドライバをそのフォルダにコピーするだけで、開発ボードにコピーされたファイルが見えます.注意:ここではnanopiにNFSサーバーを構築するのではなく、ホストに構築するのではなく、メリットは任意のホスト(NFSサーバーがインストールされていなくても)がnanopiのフォルダをマウントできることです.悪いところは、開発ボードが実行されているlinuxリリース版(私のnanopiがインストールされているUbuntu)でなければ、NFSサーバーを構築するのは容易なことではありません.ここでnanopiにNFSサーバーを構築することを選んだのは、私のホスト仮想マシンが開発ボードにpingできないのに、開発ボードがホストにpingできるからだ.
開発ボードにNFSサーバーを構築する
ここで開発ボードにインストールする必要があるのはリリース版Linuxです
1.インストール
$ sudo apt-get install nfs-kernel-server
$ sudo apt-get install nfs-common
2.構成/etc/exports
まず、ホストマウント用のディレクトリを作成します.ここでは、
/home/pi/nfs
を使用し、$ sudo vi /etc/exports
を実行し、テキストの末尾に追加します./home/pi/nfs *(insecure,rw,sync,no_root_squash,no_subtree_check)
(ここで
insecure
の選択肢を追加したのは1024以上のポート番号の使用が許可されていることに注意)次に
$ chmod 777 -R /home/pi/nfs
を実行してフォルダの権限を変更し、$ sudo exportfs -r
更新/etc/exports
の変更を実行します.最後に$ sudo showmount localhost -e
を実行して、本機でNFSのマウントが許可されているフォルダを表示します.この場合、(xxxは開発ボードのipアドレスです):Export list for xxx.xxx.xxx.xxx
/home/pi/nfs *
以上が表示されていれば、
$ sudo /etc/init.d/nfs-kernel-server restart
を実行してNFSサーバを再起動することができます.3.テストマウント
先のNFSフォルダを本機の/mntフォルダの下にマウントします.
$ sudo mount -t nfs -o nolock localhost:/home/pi/nfs /mnt
その後、
/mnt
フォルダに入ると、/home/pi/nfs
フォルダの下の内容が表示され、マウントに成功したことを示します.次のコマンドでマウント解除$ sudo umount /mnt
開発ボードのNFSフォルダをホストにマウントする
まず、ホストが開発ボードにpingできることを保証する必要があります.
ping xxx.xxx.xxx.xxx
その後、
$ sudo showmount xxx.xxx.xxx.xxx -e
を実行して、対応するipアドレスの下でNFSのマウントを許可するフォルダを表示します.このとき、出力する必要があります.Export list for xxx.xxx.xxx.xxx
/home/pi/nfs *
ホストが実行します
$ sudo mount -t nfs -o nolock xxx.xxx.xxx.xxx:/home/pi/nfs /mnt
開発ボードの
/home/pi/nfs
をホストの/mnt
フォルダの下にマウントできます.表示される場合:mount.nfs: access denied by server while mounting xxx.xxx.xxx.xxx:/home/pi/nfs
開発ボードの
/home/pi/nfs
フォルダ権限が777に変更されていないか、/etc/exports
ファイル構成にinssecure
オプションが追加されていないことを示します.