Hello World,
Got it! The key to the solution was here:
http://wiki.ltsp.org/twiki/bin/view/...not_responding
https://launchpad.net/ubuntu/breezy/...ols/+bug/19196
To summarise: I had created an NFSroot on an AIX 5.3 server, exported
as follows:
==[/etc/exports extract]==========================
/data/linux/dapper/nfsroot -public,rw,root=term001
==========
For the Linux hackers here: this is equivalent to turning root squash
off for term001. The problem was that the client (a Wyse Winterm) was
using UDP to access the NFS server. UDP don't do no receipt
confirmation, so whenever the terminal gave a request, the response got
lost somewhere. (Possibly because it came too quickly for the WinTerm
to catch it). In addition, when I tried to mount the root filesystem
off the AIX host by hand, I got messages about the portmapper not
running, which was correct5, because this was basically the initial RAM
disk, which does not include a portmapper by default. Adding the
portmapper did not help either.
What did help, was to add a parameter to
/tftpboot/pxelinux.cfg/[HEX_IP_ADDRESS], like so:
==[/tftpboot/pxelinux.cfg/ubuntu_diskless_clients]==============
TIMEOUT 50
default auto
label auto
kernel ubuntu-diskless/vmlinuz-2.6.15-26-686
append initrd=ubuntu-diskless/initrd.img-2.6.15-26-686 \
root=/dev/nfs \
nfsroot=172.16.1.5:/data/linux/dapper/nfsroot \
NFSOPTS="-o nolock,rw,proto=tcp"
==========
Note that the \
line continuations don't actually appear in my file, and are here only
to avoid wrapping. The pxelinux file reader doesn't do line
continuation. Don't knock it, it can only be 512KB in size so
something's got to give.
Note also that this works only on Ubuntu. Look up the correct way of
specifying this parameter for your distro in the document at the URL
above.
The NFSOPTS="-o nolock,rw,proto=tcp" parameter is the important one.
(Though rw should probably be ro in the final version of this
environment). It makes the klibc nfsmount program use the TCP protocol
rather than UDP. TCP *does* do flow control, so no packets are lost. It
also removes the need for a portmapper. The nolock parameter removes
the need for a lockd on the client, at the cost of... having no locking
ability. Remember this when you start booting several clients off the
same NFSroot.
So far so good. I now have a character based Linux-running thin client.
The next step is to GUIfy this environment using Xorg/XFree86.
Hopefully this seeding of the archives will help someone in the future.
Cheers,
Menno Willemse.