Jetpack のL4TのNFSサーバーはNFSv3までしか対応していない


毎度、ググっても出てこない小ネタを取り扱っております。
本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。

0. はじめに

JetsonでNFSサーバーを立てようと思いました。
普通にNFSサーバーを立てられました。

「問題なし」と思ったのですが、NFSv3で接続していました。
21世紀にNFSv3もないもんだろうとNFSv4オプションを付けても動きません...。

mount.nfs4: No such device

としか返ってこなくて、絶望した話です。

JetPackバージョン:4.6
JetsonのL4Tのバージョンは以下の通りです。

$ uname -a
Linux jetson1 4.9.253-tegra #1 SMP PREEMPT Mon Jul 26 12:19:28 PDT 2021 aarch64 aarch64 aarch64 GNU/Linux

1. 結論

NFSv4のKernelモジュールが入っていないので無理

散々調べて、いろいろ試してたどり着いたのがここ。

NFSv4 on jetpack 4.4 - Jetson & Embedded Systems / Jetson Xavier NX - NVIDIA Developer Forums
https://forums.developer.nvidia.com/t/nfsv4-on-jetpack-4-4/126896

NFSv4は対応していないカーネルリコンパイルが必要

2. 確認

ビルドインモジュールは、cat /lib/modules/$(uname -r)/modules.builtin | grep nfsで確認できたはず。


なし..。

Kernelモジュールにあれば...。

$ ls -la  /lib/modules/$(uname -r)/kernel/fs/nfsd
total 220
drwxr-xr-x 2 root root   4096  8月 19 09:33 .
drwxr-xr-x 8 root root   4096  8月 19 09:33 ..
-rw-r--r-- 1 root root 213736  7月 27 04:36 nfsd.ko

なし。

Ubuntu 20.04 LTSでは、nfs-kernel-serverをインストールすれば以下のように出ますが...

$ sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2

Jetsonでは、

$ sudo cat /proc/fs/nfsd/versions
-2 +3

残念...。

3. まとめ

Kernelのリコンパイルなんて、もう20年以上やってないのでNFSv3で我慢します。。