[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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?

Index: partitioning.sgml
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
+    <p>
+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
+    <p>
+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
+installation media).
+    <p>
+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
+cd /target
+mkdir x
+cd x
+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
+umount /instmnt
+mkdir -p /var/lib/nfs
+for i in portmap rpc.statd
+  LD_LIBRARY_PATH=lib sbin/$i
+    <p>
+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
+    <p>
+The messages about missing <file>/proc</proc> can be ignored, since
+<prgn>portmap</prgn> and <prgn>statd</prgn> are already running.
+    <p>
+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.
+    <p>
+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
+    <p>
+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        tillman@voicetrak.com          |
|                  To Have, Give All to All (ACIM)               |

Reply to: