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 +<prgn>nano-tiny</prgn>. +<example> +#!/bin/sh +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 +do + ar -x /instmnt/pool/main/$i''_*.deb + zcat data.tar.gz | tar x +done +umount /instmnt +mkdir -p /var/lib/nfs +for i in portmap rpc.statd +do + LD_LIBRARY_PATH=lib sbin/$i +done +</example> + <p> +Now install the base system as usual. Then install <package>nfs-common</package>: +<example> +$ umount /instmnt +$ chroot /target /bin/ash +$ apt-cdrom add +$ apt-get install nfs-common +</example> + <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> +environment: +<example> +$ apt-get install gcc make libc6-dev kernel-source-2.4.18 less screen links lynx wget +ftp # etc. +</example> + <p> +When you've made arrangements to boot the new kernel, using the NFS +share as root device, back out cleanly: +<example> +$ exit # from chroot shell +$ cd / +$ killall portmap rpc.statd +$ umount /target +</example> + <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 [EMAIL PROTECTED] | | To Have, Give All to All (ACIM) | *----------------------------------------------------------------* -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]