Bug#359926: initramfs-tools: diskless / nfsroot boot fails at nfsmount ... , works with mount -t nfs ...
Package: initramfs-tools
Version: 0.55b
Severity: important
Tags: patch
When booting a diskless Athlon64 system via NFS v3, the boot times out and fails to a busybox
at the nfsmount command in the script nfs. The complaints it gives include 'short read 0 < 58'
and a complaint about no TCP response. Changing the boot options (and checking that they are
actually the ones passed to nfsmount) to '-o udp,nolock,retrans=10' still locks at the same
spot with eventual read timeouts.
Changing one line the short script file 'nfs' to use
mount -t nfs ...
instead of
nfsmount ....
Then update-initramfs -u, then copying the new initrd image to the right tftp boot directory solved the problem. Normal
operations resumed. In fact I was able to include in the pxelinux config file the further commands NFSOPTS="-o
nolock,udp,retrans=10,wsize=8192,rsize=8192" to get a dramatic performance benefit.
If there is interest in diskless booting with the initramfs tools, the 'nfsroot=auto' script needs fixing too as it puts in
the IP address twice and the boot fails. I had to put nfsroot=192.168.0.111:/my/path/to/root explicitly in the
pxelinux.0/${macaddressinhexhere} setup file before I got it to work. I have no idea why nfsmount didn't work,
but I feel pretty sure the problem is bigger than simply the unavailability of the portmap daemon.
I'm actually using the diskless system now to file this report, to give folk confidence in can happen. My goal was to get
as close to a 'vanilla' Debian system with as few speciality-diskless packages and option settings as possible running.
With this little fix to the nfs script this diskless system is otherwise logically identical to a vanilla disk based one
that has everything in a single partition with only nfs client compiled in as an 'extra'. Next project, to add a little
swapfile 'just in case' then, done!
Hope this helps.
Sincerely,
Harry Coin
Bettendorf, Iowa
-- System Information:
Debian Release: testing/unstable
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.15diskless-a64
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Versions of packages initramfs-tools depends on:
ii busybox 1:1.01-4 Tiny utilities for small and embed
ii cpio 2.6-11 GNU cpio -- a program to manage ar
ii klibc-utils 1.2.4-1 small statically-linked utilities
ii udev 0.087-2 /dev/ and hotplug management daemo
initramfs-tools recommends no packages.
-- no debconf information
Reply to: