Solaris x86 customized Jumpstart from Linux NFS server — NFSv4 problem and solution

There is some kind of incompatibility between Linux 2.6 NFSv4 server nad Solaris 10 (U3) NFSv4 client. On installed Solaris you can put some variables into /etc/default/nfs and it should work, but when you are trying to bootstrap from Linux NFS server using Jumpstart you have to search for another solution:

1) Build a new miniroot image with /etc/default/nfs altered?
2) Simpler… alter Linux NFS server to provide only eg. only NFSv2 service
This can be achieved by recompiling kernel without NFSv4 or by much more cleaner solution – disabling NFSv4 services on runtime.

Place the following in /etc/sysconfig/nfs (RHEL5/CentOS5 specific configuration file):
RPCMOUNTDOPTS="--no-tcp --no-nfs-version 4 --no-nfs-version 3"
RPCNFSDARGS="--no-tcp --no-nfs-version 4 --no-nfs-version 3"

Now execute
/etc/init.d/nfs restart
That’s all! :) Jumpstart problem solved!

For more info consider reading man pages for rpc.nfsd and rpc.mountd. Internally those switches write “+2 -3 -4″ to /proc/fs/nfsd/versions. Versions file can be only modified after stopping [nfsd] kernel service ( you’ll get EBUSY errno while trying to change it with nfsd lanuched ).

3 Responses to “Solaris x86 customized Jumpstart from Linux NFS server — NFSv4 problem and solution”

  1. ika says:

    I had quite a similar problem few weeks ago but it occured the other way round. The Solaris (10u3) NFSv4 server did not served correctly to jumpstart client NFSv4 linux client. Turning down to version 3 on both sides helped to solve the situation though. I wonder why you had to use ver2 instead?

  2. admin says:

    NFS2 was used as I was preparing for my SCSA exam part2 ( I was playing with diffrences between NFS 2,3,4 on client/server side ).

  3. [...] nfs-kernel-server package). Dickon Hood worked around it by using nfs-user-server, while vnull just reconfigured his nfs-kernel-server to only offer NFSv2. Like one of vnull’s commenters, [...]