Yoctoで構築されたLinuxイメージでNFSを有効にしようとしています。このイメージは開発ボード(Qualcomm RB5)で実行されます。起動後にmount.nfsが動作しないようだと文句を言う
mount.nfs: No such device
dmesg | grep nfsを使用して確認すると、次のメッセージが表示されますが、失敗した理由が何であるかはわかりません。
[ 7.323526] systemd[597]: proc-fs-nfsd.mount: Failed to connect stdout to the journal socket, ignoring: No such file or directory
[ 7.326328] request_module fs-nfsd succeeded, but still no fs?
[ 7.337908] systemd[1]: proc-fs-nfsd.mount: Mount process exited, code=exited, status=32/n/a
[ 7.338655] systemd[1]: proc-fs-nfsd.mount: Failed with result 'exit-code'.
[ 7.346027] systemd[1]: nfs-mountd.service: Job nfs-mountd.service/start failed with result 'dependency'.
[ 7.346754] systemd[1]: nfs-server.service: Job nfs-server.service/start failed with result 'dependency'.
[ 7.454332] systemd[649]: proc-fs-nfsd.mount: Failed to connect stdout to the journal socket, ignoring: No such file or directory
[ 7.459122] systemd[1]: proc-fs-nfsd.mount: Mount process exited, code=exited, status=32/n/a
[ 7.460157] systemd[1]: proc-fs-nfsd.mount: Failed with result 'exit-code'.
[ 8.235626] systemd[726]: proc-fs-nfsd.mount: Failed to connect stdout to the journal socket, ignoring: No such file or directory
[ 8.241962] systemd[1]: proc-fs-nfsd.mount: Mount process exited, code=exited, status=32/n/a
[ 8.243164] systemd[1]: proc-fs-nfsd.mount: Failed with result 'exit-code'.
「 」で確認するとsystemctl status proc-fs-nfsd.mount
以下のようになります。
Jan 01 06:55:40 qrb5165-rb5 mount[1377]: mount: /proc/fs/nfsd: unknown filesystem type 'nfsd'.
nfsを有効にしたと思ったので、これは混乱しています。
local.confでNFSサポートが有効になっていることを確認しました。 NFSの有効化に使用した行は次のとおりです。
DISTRO_FEATURES_append = " nfs"
EXTRA_IMAGE_FEATURES += "nfs-server"
EXTRA_IMAGE_FEATURES += "nfs-client"
私は何を逃したことがありませんか?
答え1
数時間の調査の終わりに、デバイスでNFSが実行されました。私の初心者の間違いで失敗が発生しました。カーネルで NFS ファイルシステムのサポートが有効になっていません。したがって、対応するカーネルドライバは構築されません。私はYoctoがあなたのためにこれを行うと何とか仮定しましたが、実際にはそうではありません。デバイスでNFSを有効にするために、カーネル設定に次の変更を追加しました。
CONFIG_NFS_FS=y
CONFIG_NFSD=y