Bug#156308: boot-floppies: installation on NFS root doesn't work
On Wed, Aug 14, 2002 at 11:00:26PM +0000, Paul Stoeber wrote:
> On Wed, Aug 14, 2002 at 08:04:56AM -0700, Chris Tillman wrote:
> > Perhaps there's even a semaphore capability
> > in the kernel that wasn't available when dpkg was written.
> That won't provide exclusion of two dpkgs running under different
> kernels, which is possible via NFS. The file locking implemented in
> dpkg is good, the NFS client of the installer is broken.
> > Anyway, boot-floppies is now officially dead. This is definitely a
> > bad bug for people installing to nfs; I guess the thing to do is
> > document a workaround.
> Okay. I hope the authors of the new installer will get it right.
Here's a markup version I'd propose to commit. I added a few
introductory words, would you proof it?
RCS file: /cvs/debian-boot/boot-floppies/documentation/en/partitioning.sgml,v
retrieving revision 1.58
diff -u -r1.58 partitioning.sgml
--- partitioning.sgml 31 May 2002 14:50:53 -0000 1.58
+++ partitioning.sgml 19 Aug 2002 02:24:14 -0000
@@ -763,9 +763,75 @@
<file>/nfshome/%C</file>, where <tt>%C</tt> is replaced by the IP
address, in dotted quad notation, of the booting client system. ]]>
-<p>If you have not already setup your network as described in
+If you have not already set up your network as described in
<ref id="configure-network">, then selecting an NFS install will
prompt you to do so.
+ <sect1>NFS Root Installation Workaround
+Unfortunately, the woody release of <prgn>boot-floppies</prgn> does
+not support <prgn>dpkg</dpkg> locking on NFS root installs. To work
+around this problem, take the following steps after mounting your
+target NFS share at <file>/target</file>. This example assumes
+installation from a CD, but it could just as well apply for
+installation from files placed on an NFS share and mounted at
+<file>/instmnt</file> (which is where the installer normally mounts
+To enable NFS locking, make pre-arrangements to have this command
+sequence on the NFS share, or create it there using
+mount /dev/hdc /instmnt # substitute your cdrom device for /dev/hdc
+for i in g/glibc/libc6 t/tcp-wrappers/libwrap0 p/portmap/portmap n/nfs-utils/nfs-common
+ ar -x /instmnt/pool/main/$i''_*.deb
+ zcat data.tar.gz | tar x
+mkdir -p /var/lib/nfs
+for i in portmap rpc.statd
+ LD_LIBRARY_PATH=lib sbin/$i
+Now install the base system as usual. Then install <package>nfs-common</package>:
+$ umount /instmnt
+$ chroot /target /bin/ash
+$ apt-cdrom add
+$ apt-get install nfs-common
+The messages about missing <file>/proc</proc> can be ignored, since
+<prgn>portmap</prgn> and <prgn>statd</prgn> are already running.
+You'll need a kernel built with <tt>CONFIG_ROOT_NFS</tt>. The one on the
+installation CD isn't. If you don't have one and can't build one on
+another machine, you must build one right here in the <prgn>chroot</prgn>
+$ apt-get install gcc make libc6-dev kernel-source-2.4.18 less screen links lynx wget ftp # etc.
+When you've made arrangements to boot the new kernel, using the NFS
+share as root device, back out cleanly:
+$ exit # from chroot shell
+$ cd /
+$ killall portmap rpc.statd
+$ umount /target
+Then reboot. If it fails, then boot the installation CD, mount the NFS
+share on /target, enable NFS locking, chroot /target, do what you forgot
+to do, back out cleanly, and reboot. If it fails, try again. Good luck.
*------v--------- Installing Debian GNU/Linux 3.0 --------v------*
| <http://www.debian.org/releases/stable/installmanual> |
| debian-imac: <http://debian-imac.sourceforge.net> |
| Chris Tillman email@example.com |
| To Have, Give All to All (ACIM) |