Bryan O'Sullivan
2003-May-22 16:08 UTC
[klibc] [PATCH 2.5.69 2/3] Remove NFS root support from the kernel
This patch removes support for use of NFS as a root filesystem from the kernel. It also updates the documentation to reflect this. b/Documentation/nfsroot.txt | 97 +++--- b/arch/arm/def-configs/a5k | 1 b/arch/arm/def-configs/adi_evb | 1 b/arch/arm/def-configs/adsbitsy | 1 b/arch/arm/def-configs/anakin | 1 b/arch/arm/def-configs/assabet | 1 b/arch/arm/def-configs/badge4 | 1 b/arch/arm/def-configs/cerfcube | 1 b/arch/arm/def-configs/cerfpda | 1 b/arch/arm/def-configs/cerfpod | 1 b/arch/arm/def-configs/clps7500 | 1 b/arch/arm/def-configs/ebsa110 | 1 b/arch/arm/def-configs/edb7211 | 1 b/arch/arm/def-configs/epxa10db | 1 b/arch/arm/def-configs/flexanet | 1 b/arch/arm/def-configs/footbridge | 1 b/arch/arm/def-configs/fortunet | 1 b/arch/arm/def-configs/freebird | 1 b/arch/arm/def-configs/freebird_new | 1 b/arch/arm/def-configs/graphicsclient | 1 b/arch/arm/def-configs/graphicsmaster | 1 b/arch/arm/def-configs/h3600 | 1 b/arch/arm/def-configs/huw_webpanel | 1 b/arch/arm/def-configs/integrator | 1 b/arch/arm/def-configs/iq80310 | 1 b/arch/arm/def-configs/iq80321 | 1 b/arch/arm/def-configs/jornada720 | 1 b/arch/arm/def-configs/lart | 1 b/arch/arm/def-configs/lubbock | 1 b/arch/arm/def-configs/omnimeter | 1 b/arch/arm/def-configs/pangolin | 1 b/arch/arm/def-configs/pfs168_mqtft | 1 b/arch/arm/def-configs/pfs168_mqvga | 1 b/arch/arm/def-configs/pfs168_sastn | 1 b/arch/arm/def-configs/pfs168_satft | 1 b/arch/arm/def-configs/pleb | 1 b/arch/arm/def-configs/stork | 1 b/arch/arm/def-configs/system3 | 1 b/arch/arm/def-configs/trizeps | 1 b/arch/arm/defconfig | 1 b/arch/cris/defconfig | 1 b/arch/m68k/defconfig | 1 b/arch/m68knommu/defconfig | 1 b/arch/mips/defconfig | 1 b/arch/mips/defconfig-atlas | 1 b/arch/mips/defconfig-ddb5476 | 1 b/arch/mips/defconfig-ddb5477 | 1 b/arch/mips/defconfig-decstation | 1 b/arch/mips/defconfig-ip22 | 1 b/arch/mips/defconfig-it8172 | 1 b/arch/mips/defconfig-malta | 1 b/arch/mips/defconfig-ocelot | 1 b/arch/mips/defconfig-pb1000 | 1 b/arch/mips/defconfig-rm200 | 1 b/arch/mips64/defconfig | 1 b/arch/mips64/defconfig-ip22 | 1 b/arch/mips64/defconfig-ip27 | 1 b/arch/mips64/defconfig-ip32 | 1 b/arch/parisc/defconfig | 1 b/arch/ppc/configs/FADS_defconfig | 1 b/arch/ppc/configs/IVMS8_defconfig | 1 b/arch/ppc/configs/SM850_defconfig | 1 b/arch/ppc/configs/SPD823TS_defconfig | 1 b/arch/ppc/configs/TQM823L_defconfig | 1 b/arch/ppc/configs/TQM8260_defconfig | 1 b/arch/ppc/configs/TQM850L_defconfig | 1 b/arch/ppc/configs/TQM860L_defconfig | 1 b/arch/ppc/configs/adir_defconfig | 1 b/arch/ppc/configs/ash_defconfig | 1 b/arch/ppc/configs/beech_defconfig | 1 b/arch/ppc/configs/bseip_defconfig | 1 b/arch/ppc/configs/cedar_defconfig | 1 b/arch/ppc/configs/cpci405_defconfig | 1 b/arch/ppc/configs/ep405_defconfig | 1 b/arch/ppc/configs/est8260_defconfig | 1 b/arch/ppc/configs/ev64260_defconfig | 1 b/arch/ppc/configs/k2_defconfig | 1 b/arch/ppc/configs/lopec_defconfig | 1 b/arch/ppc/configs/mbx_defconfig | 1 b/arch/ppc/configs/mcpn765_defconfig | 1 b/arch/ppc/configs/menf1_defconfig | 1 b/arch/ppc/configs/mvme5100_defconfig | 1 b/arch/ppc/configs/oak_defconfig | 1 b/arch/ppc/configs/pcore_defconfig | 1 b/arch/ppc/configs/pplus_defconfig | 1 b/arch/ppc/configs/prpmc750_defconfig | 1 b/arch/ppc/configs/prpmc800_defconfig | 1 b/arch/ppc/configs/rainier_defconfig | 1 b/arch/ppc/configs/redwood5_defconfig | 1 b/arch/ppc/configs/redwood6_defconfig | 1 b/arch/ppc/configs/redwood_defconfig | 1 b/arch/ppc/configs/rpxcllf_defconfig | 1 b/arch/ppc/configs/rpxlite_defconfig | 1 b/arch/ppc/configs/sandpoint_defconfig | 1 b/arch/ppc/configs/spruce_defconfig | 1 b/arch/ppc/configs/sycamore_defconfig | 1 b/arch/ppc/configs/walnut_defconfig | 1 b/arch/ppc/configs/zx4500_defconfig | 1 b/arch/ppc/defconfig | 1 b/arch/ppc/platforms/adir_setup.c | 4 b/arch/ppc/platforms/ev64260_setup.c | 4 b/arch/ppc/platforms/k2_setup.c | 4 b/arch/ppc/platforms/lopec_setup.c | 2 b/arch/ppc/platforms/mcpn765_setup.c | 4 b/arch/ppc/platforms/menf1_setup.c | 4 b/arch/ppc/platforms/mvme5100_setup.c | 4 b/arch/ppc/platforms/pal4_setup.c | 2 b/arch/ppc/platforms/pcore_setup.c | 4 b/arch/ppc/platforms/powerpmc250.c | 4 b/arch/ppc/platforms/pplus_setup.c | 4 b/arch/ppc/platforms/prep_setup.c | 4 b/arch/ppc/platforms/prpmc750_setup.c | 4 b/arch/ppc/platforms/prpmc800_setup.c | 4 b/arch/ppc/platforms/sandpoint_setup.c | 4 b/arch/ppc/platforms/spruce_setup.c | 4 b/arch/ppc/platforms/zx4500_setup.c | 4 b/arch/sparc/defconfig | 1 b/arch/um/config.release | 1 b/fs/Kconfig | 11 b/fs/nfs/Makefile | 1 b/include/linux/root_dev.h | 2 b/init/do_mounts.c | 51 +-- b/kernel/sysctl.c | 4 b/net/sunrpc/pmap_clnt.c | 33 -- fs/nfs/mount_clnt.c | 183 ------------ fs/nfs/nfsroot.c | 472 --------------------------------- 126 files changed, 65 insertions(+), 953 deletions(-) # This is a BitKeeper generated patch for the following project: # Project Name: Linux kernel tree # This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas: # ChangeSet 1.1231 -> 1.1234 # arch/ppc/configs/menf1_defconfig 1.11 -> 1.12 # arch/arm/def-configs/graphicsmaster 1.8 -> 1.9 # arch/ppc/platforms/zx4500_setup.c 1.7 -> 1.8 # arch/ppc/configs/sycamore_defconfig 1.2 -> 1.3 # arch/arm/def-configs/edb7211 1.4 -> 1.5 # arch/arm/def-configs/pfs168_satft 1.7 -> 1.8 # arch/arm/def-configs/clps7500 1.4 -> 1.5 # arch/arm/def-configs/cerfcube 1.8 -> 1.9 # arch/arm/def-configs/trizeps 1.2 -> 1.3 # arch/arm/def-configs/pfs168_mqvga 1.7 -> 1.8 # arch/ppc/platforms/pcore_setup.c 1.7 -> 1.8 # arch/arm/def-configs/ebsa110 1.7 -> 1.8 # arch/ppc/configs/k2_defconfig 1.11 -> 1.12 # arch/m68k/defconfig 1.4 -> 1.5 # arch/parisc/defconfig 1.7 -> 1.8 # arch/arm/def-configs/freebird_new 1.7 -> 1.8 # arch/arm/def-configs/pfs168_sastn 1.7 -> 1.8 # arch/ppc/configs/oak_defconfig 1.14 -> 1.15 # fs/nfs/mount_clnt.c 1.7 -> (deleted) # arch/arm/def-configs/anakin 1.7 -> 1.8 # arch/arm/def-configs/integrator 1.7 -> 1.8 # arch/ppc/configs/mvme5100_defconfig 1.9 -> 1.10 # arch/ppc/configs/ash_defconfig 1.6 -> 1.7 # kernel/sysctl.c 1.41 -> 1.42 # arch/ppc/platforms/spruce_setup.c 1.11 -> 1.12 # arch/arm/def-configs/lubbock 1.5 -> 1.6 # arch/mips/defconfig 1.7 -> 1.8 # arch/ppc/configs/spruce_defconfig 1.6 -> 1.7 # arch/arm/def-configs/freebird 1.7 -> 1.8 # arch/arm/def-configs/iq80310 1.16 -> 1.17 # arch/arm/def-configs/cerfpda 1.8 -> 1.9 # arch/ppc/configs/rainier_defconfig 1.2 -> 1.3 # arch/ppc/platforms/powerpmc250.c 1.7 -> 1.8 # fs/nfs/Makefile 1.8 -> 1.9 # arch/ppc/configs/prpmc750_defconfig 1.6 -> 1.7 # arch/ppc/configs/TQM823L_defconfig 1.13 -> 1.14 # arch/ppc/configs/bseip_defconfig 1.14 -> 1.15 # arch/arm/def-configs/jornada720 1.9 -> 1.10 # arch/arm/def-configs/iq80321 1.3 -> 1.4 # arch/mips/defconfig-ddb5477 1.4 -> 1.5 # arch/ppc/configs/zx4500_defconfig 1.6 -> 1.7 # arch/arm/def-configs/h3600 1.8 -> 1.9 # arch/ppc/configs/TQM8260_defconfig 1.5 -> 1.6 # arch/ppc/platforms/ev64260_setup.c 1.7 -> 1.8 # include/linux/root_dev.h 1.1 -> 1.2 # arch/mips/defconfig-malta 1.4 -> 1.5 # arch/arm/defconfig 1.5 -> 1.6 # arch/cris/defconfig 1.10 -> 1.11 # arch/arm/def-configs/epxa10db 1.9 -> 1.10 # arch/arm/def-configs/a5k 1.5 -> 1.6 # arch/ppc/configs/TQM860L_defconfig 1.15 -> 1.16 # arch/ppc/platforms/mvme5100_setup.c 1.6 -> 1.7 # arch/arm/def-configs/assabet 1.10 -> 1.11 # arch/ppc/platforms/prpmc750_setup.c 1.7 -> 1.8 # arch/arm/def-configs/footbridge 1.8 -> 1.9 # arch/ppc/platforms/adir_setup.c 1.6 -> 1.7 # arch/mips/defconfig-pb1000 1.4 -> 1.5 # arch/arm/def-configs/omnimeter 1.6 -> 1.7 # arch/mips/defconfig-atlas 1.4 -> 1.5 # arch/mips/defconfig-it8172 1.10 -> 1.11 # init/do_mounts.c 1.48 -> 1.50 # arch/arm/def-configs/system3 1.7 -> 1.8 # arch/ppc/configs/SM850_defconfig 1.13 -> 1.14 # arch/arm/def-configs/lart 1.9 -> 1.10 # arch/mips/defconfig-ocelot 1.4 -> 1.5 # arch/ppc/configs/sandpoint_defconfig 1.12 -> 1.13 # arch/mips64/defconfig-ip27 1.8 -> 1.9 # arch/ppc/configs/redwood_defconfig 1.6 -> 1.7 # arch/arm/def-configs/pfs168_mqtft 1.7 -> 1.8 # net/sunrpc/pmap_clnt.c 1.6 -> 1.7 # arch/arm/def-configs/adi_evb 1.7 -> 1.8 # arch/arm/def-configs/pangolin 1.10 -> 1.11 # arch/ppc/configs/pcore_defconfig 1.5 -> 1.6 # arch/ppc/configs/mbx_defconfig 1.14 -> 1.15 # arch/ppc/configs/est8260_defconfig 1.15 -> 1.16 # arch/ppc/platforms/prpmc800_setup.c 1.7 -> 1.8 # arch/ppc/platforms/lopec_setup.c 1.19 -> 1.20 # arch/ppc/configs/TQM850L_defconfig 1.13 -> 1.14 # fs/Kconfig 1.24 -> 1.25 # arch/mips64/defconfig-ip22 1.8 -> 1.9 # arch/ppc/configs/redwood6_defconfig 1.2 -> 1.3 # arch/ppc/configs/mcpn765_defconfig 1.6 -> 1.7 # arch/ppc/configs/pplus_defconfig 1.11 -> 1.12 # arch/ppc/configs/beech_defconfig 1.2 -> 1.3 # arch/ppc/configs/lopec_defconfig 1.7 -> 1.8 # arch/ppc/configs/IVMS8_defconfig 1.15 -> 1.16 # arch/ppc/platforms/k2_setup.c 1.9 -> 1.10 # arch/arm/def-configs/huw_webpanel 1.5 -> 1.6 # arch/ppc/platforms/mcpn765_setup.c 1.11 -> 1.12 # arch/arm/def-configs/adsbitsy 1.9 -> 1.10 # arch/m68knommu/defconfig 1.2 -> 1.3 # arch/arm/def-configs/pleb 1.7 -> 1.8 # arch/ppc/configs/FADS_defconfig 1.6 -> 1.7 # arch/ppc/configs/adir_defconfig 1.6 -> 1.7 # fs/nfs/nfsroot.c 1.11 -> (deleted) # arch/ppc/configs/cedar_defconfig 1.7 -> 1.8 # arch/sparc/defconfig 1.17 -> 1.18 # arch/mips64/defconfig 1.10 -> 1.11 # arch/ppc/configs/rpxlite_defconfig 1.14 -> 1.15 # arch/ppc/configs/ep405_defconfig 1.6 -> 1.7 # arch/arm/def-configs/badge4 1.9 -> 1.10 # arch/ppc/defconfig 1.19 -> 1.20 # arch/ppc/configs/rpxcllf_defconfig 1.14 -> 1.15 # arch/ppc/configs/redwood5_defconfig 1.7 -> 1.8 # arch/ppc/configs/walnut_defconfig 1.14 -> 1.15 # arch/ppc/platforms/menf1_setup.c 1.9 -> 1.10 # arch/ppc/platforms/prep_setup.c 1.40 -> 1.41 # arch/arm/def-configs/stork 1.7 -> 1.8 # arch/ppc/configs/ev64260_defconfig 1.6 -> 1.7 # arch/ppc/configs/prpmc800_defconfig 1.6 -> 1.7 # arch/ppc/configs/cpci405_defconfig 1.8 -> 1.9 # arch/ppc/platforms/pal4_setup.c 1.5 -> 1.6 # arch/mips/defconfig-rm200 1.6 -> 1.7 # Documentation/nfsroot.txt 1.1 -> 1.3 # arch/arm/def-configs/flexanet 1.9 -> 1.10 # arch/ppc/platforms/pplus_setup.c 1.15 -> 1.16 # arch/mips64/defconfig-ip32 1.4 -> 1.5 # arch/mips/defconfig-ddb5476 1.10 -> 1.11 # arch/um/config.release 1.2 -> 1.3 # arch/ppc/configs/SPD823TS_defconfig 1.13 -> 1.14 # arch/arm/def-configs/cerfpod 1.8 -> 1.9 # arch/mips/defconfig-ip22 1.6 -> 1.7 # arch/ppc/platforms/sandpoint_setup.c 1.13 -> 1.14 # arch/arm/def-configs/fortunet 1.5 -> 1.6 # arch/arm/def-configs/graphicsclient 1.10 -> 1.11 # arch/mips/defconfig-decstation 1.6 -> 1.7 # # The following is the BitKeeper ChangeSet Log # -------------------------------------------- # 03/05/22 bos@serpentine.internal.keyresearch.com 1.1232 # Get rid of CONFIG_ROOT_NFS # -------------------------------------------- # 03/05/22 bos@serpentine.internal.keyresearch.com 1.1233 # Get rid of nfsroot. # -------------------------------------------- # 03/05/22 bos@serpentine.internal.keyresearch.com 1.1234 # Don't do anything if root=initramfs or root=/dev/nfs. # -------------------------------------------- # diff -Nru a/Documentation/nfsroot.txt b/Documentation/nfsroot.txt --- a/Documentation/nfsroot.txt Thu May 22 15:40:37 2003 +++ b/Documentation/nfsroot.txt Thu May 22 15:40:37 2003 @@ -3,6 +3,7 @@ Written 1996 by Gero Kuhlmann <gero@gkminix.han.de> Updated 1997 by Martin Mares <mj@atrey.karlin.mff.cuni.cz> +Updated 2003 by Bryan O'Sullivan <bos@serpentine.com> @@ -22,11 +23,12 @@ In order to use nfsroot you have to select support for NFS during kernel configuration. Note that NFS cannot be loaded as a module -in this case. The configuration script will then ask you whether -you want to use nfsroot, and if yes what kind of auto configuration -system you want to use. Selecting both BOOTP and RARP is safe. - +in this case. +The kernel no longer supports nfsroot or IP autoconfiguration directly. +To enable these features, you must build kinit from the klibc +distribution, and add the kinit binary to the initramfs cpio archive +as /sbin/init. 2.) Kernel command line @@ -42,7 +44,7 @@ root=/dev/nfs This is necessary to enable the pseudo-NFS-device. Note that it's not a - real device but just a synonym to tell the kernel to use NFS instead of + real device but just a synonym to tell kinit to use NFS instead of a real device. @@ -79,55 +81,46 @@ ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf> - This parameter tells the kernel how to configure IP addresses of devices - and also how to set up the IP routing table. It was originally called `nfsaddrs', - but now the boot-time IP configuration works independently of NFS, so it - was renamed to `ip' and the old name remained as an alias for compatibility - reasons. - - If this parameter is missing from the kernel command line, all fields are - assumed to be empty, and the defaults mentioned below apply. In general - this means that the kernel tries to configure everything using both - RARP and BOOTP (depending on what has been enabled during kernel confi- - guration, and if both what protocol answer got in first). - - <client-ip> IP address of the client. If empty, the address will either - be determined by RARP or BOOTP. What protocol is used de- - pends on what has been enabled during kernel configuration - and on the <autoconf> parameter. If this parameter is not - empty, neither RARP nor BOOTP will be used. - - <server-ip> IP address of the NFS server. If RARP is used to determine - the client address and this parameter is NOT empty only - replies from the specified server are accepted. To use - different RARP and NFS server, specify your RARP server - here (or leave it blank), and specify your NFS server in - the `nfsroot' parameter (see above). If this entry is blank - the address of the server is used which answered the RARP - or BOOTP request. + This parameter tells kinit how to configure IP addresses of devices + and also how to set up the IP routing table. It was originally called + `nfsaddrs', but now the boot-time IP configuration works independently + of NFS, so it was renamed to `ip' and the old name remained as an + alias for compatibility reasons. + + If this parameter is missing from the kernel command line, all fields + are assumed to be empty, and the defaults mentioned below apply. In + general this means that kinit tries to configure everything using + autoconfiguration, which by default uses DHCP (BOOTP support exists, + but has not been tested). + + <client-ip> IP address of the client. If empty, the address will be + determined using autoconfig. + + <server-ip> IP address of the NFS server. If this entry is blank + the address of the server is used which answered the + autoconfig request. <gw-ip> IP address of a gateway if the server is on a different subnet. If this entry is empty no gateway is used and the server is assumed to be on the local network, unless a - value has been received by BOOTP. + value has been received during autoconfig. <netmask> Netmask for local network interface. If this is empty, the netmask is derived from the client IP address assuming - classful addressing, unless overridden in BOOTP reply. + classful addressing, unless overridden by autoconfig. <hostname> Name of the client. If empty, the client IP address is - used in ASCII notation, or the value received by BOOTP. + used in ASCII notation, or the value received by + autoconfig. <device> Name of network device to use. If this is empty, all - devices are used for RARP and BOOTP requests, and the - first one we receive a reply on is configured. If you have + devices are used for autoconfig requests, and the first + one we receive a reply on is configured. If you have only one device, you can safely leave this blank. <autoconf> Method to use for autoconfiguration. If this is either - 'rarp' or 'bootp', the specified protocol is used. - If the value is 'both' or empty, both protocols are used - so far as they have been enabled during kernel configura- - tion. 'off' means no autoconfiguration. + 'dhcp' or 'bootp', the specified protocol is used. + If the value is 'both' or empty, both protocols are used. The <autoconf> parameter can appear alone as the value to the `ip' parameter (without all the ':' characters before) in which case auto- @@ -142,8 +135,11 @@ To get the kernel into memory different approaches can be used. They depend on what facilities are available: +[NOTE: This section is way out of date, and probably now incorrect in +many respects. -bos] 3.1) Writing the kernel onto a floppy using dd: + As always you can just write the kernel onto a floppy using dd, but then it's not possible to use kernel command lines at all. To substitute the 'root=' parameter, create a dummy device on any @@ -159,14 +155,11 @@ rdev /dev/fd0 /dev/boot255 - You can then remove the dummy device /dev/boot255 again. There - is no real device available for it. - The other two kernel command line parameters cannot be substi- - tuted with rdev. Therefore, using this method the kernel will - by default use RARP and/or BOOTP, and if it gets an answer via - RARP will mount the directory /tftpboot/<client-ip>/ as its - root. If it got a BOOTP answer the directory name in that answer - is used. + You can then remove the dummy device /dev/boot255 again. There is + no real device available for it. The other two kernel command + line parameters cannot be substituted with rdev. Therefore, + using this method the kernel will by default use autoconfig, + and will mount the directory /tftpboot/<client-ip>/ as its root. 3.2) Using LILO @@ -200,11 +193,15 @@ 4.) Credits ------- - The nfsroot code in the kernel and the RARP support have been written + The nfsroot code in the kernel and the RARP support were written by Gero Kuhlmann <gero@gkminix.han.de>. - The rest of the IP layer autoconfiguration code has been written + The rest of the IP layer autoconfiguration code was written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>. In order to write the initial version of nfsroot I would like to thank Jens-Uwe Mager <jum@anubis.han.de> for his help. + + The klibc-based replacements for the kernel ipconfig and nfsroot code + were written by Russell King <rmk@arm.linux.org.uk> and Bryan O'Sullivan + <bos@serpentine.com>, respectively. diff -Nru a/arch/arm/def-configs/a5k b/arch/arm/def-configs/a5k --- a/arch/arm/def-configs/a5k Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/a5k Thu May 22 15:40:37 2003 @@ -408,7 +408,6 @@ # CONFIG_CODA_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/arm/def-configs/adi_evb b/arch/arm/def-configs/adi_evb --- a/arch/arm/def-configs/adi_evb Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/adi_evb Thu May 22 15:40:37 2003 @@ -549,7 +549,6 @@ # CONFIG_INTERMEZZO_FS is not set # CONFIG_NFS_FS is not set # CONFIG_NFS_V3 is not set -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set # CONFIG_SUNRPC is not set diff -Nru a/arch/arm/def-configs/adsbitsy b/arch/arm/def-configs/adsbitsy --- a/arch/arm/def-configs/adsbitsy Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/adsbitsy Thu May 22 15:40:37 2003 @@ -498,7 +498,6 @@ # CONFIG_CODA_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/arm/def-configs/anakin b/arch/arm/def-configs/anakin --- a/arch/arm/def-configs/anakin Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/anakin Thu May 22 15:40:37 2003 @@ -532,7 +532,6 @@ # CONFIG_INTERMEZZO_FS is not set # CONFIG_NFS_FS is not set # CONFIG_NFS_V3 is not set -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set # CONFIG_NFSD_TCP is not set diff -Nru a/arch/arm/def-configs/assabet b/arch/arm/def-configs/assabet --- a/arch/arm/def-configs/assabet Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/assabet Thu May 22 15:40:37 2003 @@ -681,7 +681,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/arm/def-configs/badge4 b/arch/arm/def-configs/badge4 --- a/arch/arm/def-configs/badge4 Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/badge4 Thu May 22 15:40:37 2003 @@ -867,7 +867,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=m CONFIG_NFS_V3=y -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=m diff -Nru a/arch/arm/def-configs/cerfcube b/arch/arm/def-configs/cerfcube --- a/arch/arm/def-configs/cerfcube Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/cerfcube Thu May 22 15:40:37 2003 @@ -670,7 +670,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y CONFIG_NFS_V3=y -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/arm/def-configs/cerfpda b/arch/arm/def-configs/cerfpda --- a/arch/arm/def-configs/cerfpda Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/cerfpda Thu May 22 15:40:37 2003 @@ -708,7 +708,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y CONFIG_NFS_V3=y -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/arm/def-configs/cerfpod b/arch/arm/def-configs/cerfpod --- a/arch/arm/def-configs/cerfpod Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/cerfpod Thu May 22 15:40:37 2003 @@ -672,7 +672,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y CONFIG_NFS_V3=y -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/arm/def-configs/clps7500 b/arch/arm/def-configs/clps7500 --- a/arch/arm/def-configs/clps7500 Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/clps7500 Thu May 22 15:40:37 2003 @@ -436,7 +436,6 @@ # CONFIG_CODA_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/arm/def-configs/ebsa110 b/arch/arm/def-configs/ebsa110 --- a/arch/arm/def-configs/ebsa110 Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/ebsa110 Thu May 22 15:40:37 2003 @@ -551,7 +551,6 @@ # CONFIG_CODA_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/arm/def-configs/edb7211 b/arch/arm/def-configs/edb7211 --- a/arch/arm/def-configs/edb7211 Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/edb7211 Thu May 22 15:40:37 2003 @@ -353,7 +353,6 @@ # CONFIG_CODA_FS is not set # CONFIG_NFS_FS is not set # CONFIG_NFS_V3 is not set -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set # CONFIG_SUNRPC is not set diff -Nru a/arch/arm/def-configs/epxa10db b/arch/arm/def-configs/epxa10db --- a/arch/arm/def-configs/epxa10db Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/epxa10db Thu May 22 15:40:37 2003 @@ -485,7 +485,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set CONFIG_SUNRPC=y # CONFIG_SUNRPC_GSS is not set diff -Nru a/arch/arm/def-configs/flexanet b/arch/arm/def-configs/flexanet --- a/arch/arm/def-configs/flexanet Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/flexanet Thu May 22 15:40:37 2003 @@ -662,7 +662,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/arm/def-configs/footbridge b/arch/arm/def-configs/footbridge --- a/arch/arm/def-configs/footbridge Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/footbridge Thu May 22 15:40:37 2003 @@ -636,7 +636,6 @@ # CONFIG_CODA_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y CONFIG_NFSD=m # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/arm/def-configs/fortunet b/arch/arm/def-configs/fortunet --- a/arch/arm/def-configs/fortunet Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/fortunet Thu May 22 15:40:37 2003 @@ -479,7 +479,6 @@ # CONFIG_INTERMEZZO_FS is not set # CONFIG_NFS_FS is not set # CONFIG_NFS_V3 is not set -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set # CONFIG_SUNRPC is not set diff -Nru a/arch/arm/def-configs/freebird b/arch/arm/def-configs/freebird --- a/arch/arm/def-configs/freebird Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/freebird Thu May 22 15:40:37 2003 @@ -515,7 +515,6 @@ # CONFIG_CODA_FS is not set # CONFIG_NFS_FS is not set # CONFIG_NFS_V3 is not set -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set # CONFIG_SUNRPC is not set diff -Nru a/arch/arm/def-configs/freebird_new b/arch/arm/def-configs/freebird_new --- a/arch/arm/def-configs/freebird_new Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/freebird_new Thu May 22 15:40:37 2003 @@ -535,7 +535,6 @@ # CONFIG_CODA_FS is not set CONFIG_NFS_FS=m # CONFIG_NFS_V3 is not set -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=m diff -Nru a/arch/arm/def-configs/graphicsclient b/arch/arm/def-configs/graphicsclient --- a/arch/arm/def-configs/graphicsclient Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/graphicsclient Thu May 22 15:40:37 2003 @@ -604,7 +604,6 @@ # CONFIG_CODA_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/arm/def-configs/graphicsmaster b/arch/arm/def-configs/graphicsmaster --- a/arch/arm/def-configs/graphicsmaster Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/graphicsmaster Thu May 22 15:40:37 2003 @@ -579,7 +579,6 @@ # CONFIG_CODA_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/arm/def-configs/h3600 b/arch/arm/def-configs/h3600 --- a/arch/arm/def-configs/h3600 Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/h3600 Thu May 22 15:40:37 2003 @@ -673,7 +673,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -# CONFIG_ROOT_NFS is not set CONFIG_NFSD=m # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/arm/def-configs/huw_webpanel b/arch/arm/def-configs/huw_webpanel --- a/arch/arm/def-configs/huw_webpanel Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/huw_webpanel Thu May 22 15:40:37 2003 @@ -359,7 +359,6 @@ # CONFIG_CODA_FS is not set # CONFIG_NFS_FS is not set # CONFIG_NFS_V3 is not set -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set # CONFIG_SUNRPC is not set diff -Nru a/arch/arm/def-configs/integrator b/arch/arm/def-configs/integrator --- a/arch/arm/def-configs/integrator Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/integrator Thu May 22 15:40:37 2003 @@ -563,7 +563,6 @@ # CONFIG_CODA_FS is not set CONFIG_NFS_FS=y CONFIG_NFS_V3=y -CONFIG_ROOT_NFS=y CONFIG_NFSD=y CONFIG_NFSD_V3=y CONFIG_SUNRPC=y diff -Nru a/arch/arm/def-configs/iq80310 b/arch/arm/def-configs/iq80310 --- a/arch/arm/def-configs/iq80310 Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/iq80310 Thu May 22 15:40:37 2003 @@ -624,7 +624,6 @@ # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set # CONFIG_NFSD is not set -CONFIG_ROOT_NFS=y CONFIG_LOCKD=y # CONFIG_EXPORTFS is not set # CONFIG_SMB_FS is not set diff -Nru a/arch/arm/def-configs/iq80321 b/arch/arm/def-configs/iq80321 --- a/arch/arm/def-configs/iq80321 Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/iq80321 Thu May 22 15:40:37 2003 @@ -587,7 +587,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFSD is not set -CONFIG_ROOT_NFS=y CONFIG_LOCKD=y # CONFIG_EXPORTFS is not set # CONFIG_SMB_FS is not set diff -Nru a/arch/arm/def-configs/jornada720 b/arch/arm/def-configs/jornada720 --- a/arch/arm/def-configs/jornada720 Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/jornada720 Thu May 22 15:40:37 2003 @@ -691,7 +691,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=m CONFIG_NFS_V3=y -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=m diff -Nru a/arch/arm/def-configs/lart b/arch/arm/def-configs/lart --- a/arch/arm/def-configs/lart Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/lart Thu May 22 15:40:37 2003 @@ -678,7 +678,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=m CONFIG_NFS_V3=y -# CONFIG_ROOT_NFS is not set CONFIG_NFSD=m CONFIG_NFSD_V3=y CONFIG_SUNRPC=m diff -Nru a/arch/arm/def-configs/lubbock b/arch/arm/def-configs/lubbock --- a/arch/arm/def-configs/lubbock Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/lubbock Thu May 22 15:40:37 2003 @@ -722,7 +722,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set # CONFIG_NFSD_TCP is not set diff -Nru a/arch/arm/def-configs/omnimeter b/arch/arm/def-configs/omnimeter --- a/arch/arm/def-configs/omnimeter Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/omnimeter Thu May 22 15:40:37 2003 @@ -445,7 +445,6 @@ # CONFIG_CODA_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/arm/def-configs/pangolin b/arch/arm/def-configs/pangolin --- a/arch/arm/def-configs/pangolin Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/pangolin Thu May 22 15:40:37 2003 @@ -581,7 +581,6 @@ # CONFIG_CODA_FS is not set # CONFIG_NFS_FS is not set # CONFIG_NFS_V3 is not set -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set # CONFIG_SUNRPC is not set diff -Nru a/arch/arm/def-configs/pfs168_mqtft b/arch/arm/def-configs/pfs168_mqtft --- a/arch/arm/def-configs/pfs168_mqtft Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/pfs168_mqtft Thu May 22 15:40:37 2003 @@ -619,7 +619,6 @@ # CONFIG_CODA_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/arm/def-configs/pfs168_mqvga b/arch/arm/def-configs/pfs168_mqvga --- a/arch/arm/def-configs/pfs168_mqvga Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/pfs168_mqvga Thu May 22 15:40:37 2003 @@ -619,7 +619,6 @@ # CONFIG_CODA_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/arm/def-configs/pfs168_sastn b/arch/arm/def-configs/pfs168_sastn --- a/arch/arm/def-configs/pfs168_sastn Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/pfs168_sastn Thu May 22 15:40:37 2003 @@ -612,7 +612,6 @@ # CONFIG_CODA_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/arm/def-configs/pfs168_satft b/arch/arm/def-configs/pfs168_satft --- a/arch/arm/def-configs/pfs168_satft Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/pfs168_satft Thu May 22 15:40:37 2003 @@ -619,7 +619,6 @@ # CONFIG_CODA_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/arm/def-configs/pleb b/arch/arm/def-configs/pleb --- a/arch/arm/def-configs/pleb Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/pleb Thu May 22 15:40:37 2003 @@ -482,7 +482,6 @@ # CONFIG_CODA_FS is not set # CONFIG_NFS_FS is not set # CONFIG_NFS_V3 is not set -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set # CONFIG_SUNRPC is not set diff -Nru a/arch/arm/def-configs/stork b/arch/arm/def-configs/stork --- a/arch/arm/def-configs/stork Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/stork Thu May 22 15:40:37 2003 @@ -672,7 +672,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y CONFIG_NFS_V3=y -# CONFIG_ROOT_NFS is not set CONFIG_NFSD=m CONFIG_NFSD_V3=y CONFIG_SUNRPC=y diff -Nru a/arch/arm/def-configs/system3 b/arch/arm/def-configs/system3 --- a/arch/arm/def-configs/system3 Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/system3 Thu May 22 15:40:37 2003 @@ -707,7 +707,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/arm/def-configs/trizeps b/arch/arm/def-configs/trizeps --- a/arch/arm/def-configs/trizeps Thu May 22 15:40:37 2003 +++ b/arch/arm/def-configs/trizeps Thu May 22 15:40:37 2003 @@ -746,7 +746,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set # CONFIG_NFSD_V4 is not set diff -Nru a/arch/arm/defconfig b/arch/arm/defconfig --- a/arch/arm/defconfig Thu May 22 15:40:37 2003 +++ b/arch/arm/defconfig Thu May 22 15:40:37 2003 @@ -442,7 +442,6 @@ # CONFIG_CODA_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/cris/defconfig b/arch/cris/defconfig --- a/arch/cris/defconfig Thu May 22 15:40:37 2003 +++ b/arch/cris/defconfig Thu May 22 15:40:37 2003 @@ -464,7 +464,6 @@ # CONFIG_CODA_FS is not set # CONFIG_NFS_FS is not set # CONFIG_NFS_V3 is not set -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set # CONFIG_SUNRPC is not set diff -Nru a/arch/m68k/defconfig b/arch/m68k/defconfig --- a/arch/m68k/defconfig Thu May 22 15:40:37 2003 +++ b/arch/m68k/defconfig Thu May 22 15:40:37 2003 @@ -246,7 +246,6 @@ # # CONFIG_CODA_FS is not set CONFIG_NFS_FS=y -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/m68knommu/defconfig b/arch/m68knommu/defconfig --- a/arch/m68knommu/defconfig Thu May 22 15:40:37 2003 +++ b/arch/m68knommu/defconfig Thu May 22 15:40:37 2003 @@ -473,7 +473,6 @@ # CONFIG_NFS_FS is not set # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set # CONFIG_NFSD_V4 is not set diff -Nru a/arch/mips/defconfig b/arch/mips/defconfig --- a/arch/mips/defconfig Thu May 22 15:40:37 2003 +++ b/arch/mips/defconfig Thu May 22 15:40:37 2003 @@ -463,7 +463,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y CONFIG_NFSD=y # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/mips/defconfig-atlas b/arch/mips/defconfig-atlas --- a/arch/mips/defconfig-atlas Thu May 22 15:40:37 2003 +++ b/arch/mips/defconfig-atlas Thu May 22 15:40:37 2003 @@ -453,7 +453,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/mips/defconfig-ddb5476 b/arch/mips/defconfig-ddb5476 --- a/arch/mips/defconfig-ddb5476 Thu May 22 15:40:37 2003 +++ b/arch/mips/defconfig-ddb5476 Thu May 22 15:40:37 2003 @@ -487,7 +487,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/mips/defconfig-ddb5477 b/arch/mips/defconfig-ddb5477 --- a/arch/mips/defconfig-ddb5477 Thu May 22 15:40:37 2003 +++ b/arch/mips/defconfig-ddb5477 Thu May 22 15:40:37 2003 @@ -414,7 +414,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y CONFIG_NFSD=y # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/mips/defconfig-decstation b/arch/mips/defconfig-decstation --- a/arch/mips/defconfig-decstation Thu May 22 15:40:37 2003 +++ b/arch/mips/defconfig-decstation Thu May 22 15:40:37 2003 @@ -450,7 +450,6 @@ # CONFIG_INTERMEZZO_FS is not set # CONFIG_NFS_FS is not set # CONFIG_NFS_V3 is not set -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set # CONFIG_SUNRPC is not set diff -Nru a/arch/mips/defconfig-ip22 b/arch/mips/defconfig-ip22 --- a/arch/mips/defconfig-ip22 Thu May 22 15:40:37 2003 +++ b/arch/mips/defconfig-ip22 Thu May 22 15:40:37 2003 @@ -463,7 +463,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y CONFIG_NFSD=y # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/mips/defconfig-it8172 b/arch/mips/defconfig-it8172 --- a/arch/mips/defconfig-it8172 Thu May 22 15:40:37 2003 +++ b/arch/mips/defconfig-it8172 Thu May 22 15:40:37 2003 @@ -566,7 +566,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/mips/defconfig-malta b/arch/mips/defconfig-malta --- a/arch/mips/defconfig-malta Thu May 22 15:40:37 2003 +++ b/arch/mips/defconfig-malta Thu May 22 15:40:37 2003 @@ -479,7 +479,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/mips/defconfig-ocelot b/arch/mips/defconfig-ocelot --- a/arch/mips/defconfig-ocelot Thu May 22 15:40:37 2003 +++ b/arch/mips/defconfig-ocelot Thu May 22 15:40:37 2003 @@ -415,7 +415,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y CONFIG_NFSD=y # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/mips/defconfig-pb1000 b/arch/mips/defconfig-pb1000 --- a/arch/mips/defconfig-pb1000 Thu May 22 15:40:37 2003 +++ b/arch/mips/defconfig-pb1000 Thu May 22 15:40:37 2003 @@ -402,7 +402,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/mips/defconfig-rm200 b/arch/mips/defconfig-rm200 --- a/arch/mips/defconfig-rm200 Thu May 22 15:40:37 2003 +++ b/arch/mips/defconfig-rm200 Thu May 22 15:40:37 2003 @@ -336,7 +336,6 @@ # CONFIG_INTERMEZZO_FS is not set # CONFIG_NFS_FS is not set # CONFIG_NFS_V3 is not set -# CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set # CONFIG_SUNRPC is not set diff -Nru a/arch/mips64/defconfig b/arch/mips64/defconfig --- a/arch/mips64/defconfig Thu May 22 15:40:37 2003 +++ b/arch/mips64/defconfig Thu May 22 15:40:37 2003 @@ -421,7 +421,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y CONFIG_NFS_V3=y -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/mips64/defconfig-ip22 b/arch/mips64/defconfig-ip22 --- a/arch/mips64/defconfig-ip22 Thu May 22 15:40:37 2003 +++ b/arch/mips64/defconfig-ip22 Thu May 22 15:40:37 2003 @@ -425,7 +425,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y CONFIG_NFSD=y # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/mips64/defconfig-ip27 b/arch/mips64/defconfig-ip27 --- a/arch/mips64/defconfig-ip27 Thu May 22 15:40:37 2003 +++ b/arch/mips64/defconfig-ip27 Thu May 22 15:40:37 2003 @@ -420,7 +420,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y CONFIG_NFS_V3=y -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/mips64/defconfig-ip32 b/arch/mips64/defconfig-ip32 --- a/arch/mips64/defconfig-ip32 Thu May 22 15:40:37 2003 +++ b/arch/mips64/defconfig-ip32 Thu May 22 15:40:37 2003 @@ -450,7 +450,6 @@ # CONFIG_CODA_FS is not set CONFIG_NFS_FS=y CONFIG_NFS_V3=y -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/parisc/defconfig b/arch/parisc/defconfig --- a/arch/parisc/defconfig Thu May 22 15:40:37 2003 +++ b/arch/parisc/defconfig Thu May 22 15:40:37 2003 @@ -532,7 +532,6 @@ CONFIG_NFS_FS=y CONFIG_NFS_V3=y # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y CONFIG_NFSD=y CONFIG_NFSD_V3=y # CONFIG_NFSD_V4 is not set diff -Nru a/arch/ppc/configs/FADS_defconfig b/arch/ppc/configs/FADS_defconfig --- a/arch/ppc/configs/FADS_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/FADS_defconfig Thu May 22 15:40:37 2003 @@ -408,7 +408,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/IVMS8_defconfig b/arch/ppc/configs/IVMS8_defconfig --- a/arch/ppc/configs/IVMS8_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/IVMS8_defconfig Thu May 22 15:40:37 2003 @@ -436,7 +436,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/SM850_defconfig b/arch/ppc/configs/SM850_defconfig --- a/arch/ppc/configs/SM850_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/SM850_defconfig Thu May 22 15:40:37 2003 @@ -409,7 +409,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/SPD823TS_defconfig b/arch/ppc/configs/SPD823TS_defconfig --- a/arch/ppc/configs/SPD823TS_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/SPD823TS_defconfig Thu May 22 15:40:37 2003 @@ -408,7 +408,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/TQM823L_defconfig b/arch/ppc/configs/TQM823L_defconfig --- a/arch/ppc/configs/TQM823L_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/TQM823L_defconfig Thu May 22 15:40:37 2003 @@ -409,7 +409,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/TQM8260_defconfig b/arch/ppc/configs/TQM8260_defconfig --- a/arch/ppc/configs/TQM8260_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/TQM8260_defconfig Thu May 22 15:40:37 2003 @@ -395,7 +395,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/TQM850L_defconfig b/arch/ppc/configs/TQM850L_defconfig --- a/arch/ppc/configs/TQM850L_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/TQM850L_defconfig Thu May 22 15:40:37 2003 @@ -409,7 +409,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/TQM860L_defconfig b/arch/ppc/configs/TQM860L_defconfig --- a/arch/ppc/configs/TQM860L_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/TQM860L_defconfig Thu May 22 15:40:37 2003 @@ -435,7 +435,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/adir_defconfig b/arch/ppc/configs/adir_defconfig --- a/arch/ppc/configs/adir_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/adir_defconfig Thu May 22 15:40:37 2003 @@ -592,7 +592,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/ash_defconfig b/arch/ppc/configs/ash_defconfig --- a/arch/ppc/configs/ash_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/ash_defconfig Thu May 22 15:40:37 2003 @@ -467,7 +467,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/beech_defconfig b/arch/ppc/configs/beech_defconfig --- a/arch/ppc/configs/beech_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/beech_defconfig Thu May 22 15:40:37 2003 @@ -545,7 +545,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/ppc/configs/bseip_defconfig b/arch/ppc/configs/bseip_defconfig --- a/arch/ppc/configs/bseip_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/bseip_defconfig Thu May 22 15:40:37 2003 @@ -408,7 +408,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/cedar_defconfig b/arch/ppc/configs/cedar_defconfig --- a/arch/ppc/configs/cedar_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/cedar_defconfig Thu May 22 15:40:37 2003 @@ -440,7 +440,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/cpci405_defconfig b/arch/ppc/configs/cpci405_defconfig --- a/arch/ppc/configs/cpci405_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/cpci405_defconfig Thu May 22 15:40:37 2003 @@ -474,7 +474,6 @@ CONFIG_NFS_FS=y CONFIG_NFS_V3=y # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/ep405_defconfig b/arch/ppc/configs/ep405_defconfig --- a/arch/ppc/configs/ep405_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/ep405_defconfig Thu May 22 15:40:37 2003 @@ -463,7 +463,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/est8260_defconfig b/arch/ppc/configs/est8260_defconfig --- a/arch/ppc/configs/est8260_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/est8260_defconfig Thu May 22 15:40:37 2003 @@ -392,7 +392,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/ev64260_defconfig b/arch/ppc/configs/ev64260_defconfig --- a/arch/ppc/configs/ev64260_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/ev64260_defconfig Thu May 22 15:40:37 2003 @@ -490,7 +490,6 @@ CONFIG_NFS_FS=y CONFIG_NFS_V3=y # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/k2_defconfig b/arch/ppc/configs/k2_defconfig --- a/arch/ppc/configs/k2_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/k2_defconfig Thu May 22 15:40:37 2003 @@ -529,7 +529,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/lopec_defconfig b/arch/ppc/configs/lopec_defconfig --- a/arch/ppc/configs/lopec_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/lopec_defconfig Thu May 22 15:40:37 2003 @@ -625,7 +625,6 @@ CONFIG_NFS_FS=y CONFIG_NFS_V3=y # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/mbx_defconfig b/arch/ppc/configs/mbx_defconfig --- a/arch/ppc/configs/mbx_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/mbx_defconfig Thu May 22 15:40:37 2003 @@ -402,7 +402,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/mcpn765_defconfig b/arch/ppc/configs/mcpn765_defconfig --- a/arch/ppc/configs/mcpn765_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/mcpn765_defconfig Thu May 22 15:40:37 2003 @@ -457,7 +457,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/menf1_defconfig b/arch/ppc/configs/menf1_defconfig --- a/arch/ppc/configs/menf1_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/menf1_defconfig Thu May 22 15:40:37 2003 @@ -534,7 +534,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/mvme5100_defconfig b/arch/ppc/configs/mvme5100_defconfig --- a/arch/ppc/configs/mvme5100_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/mvme5100_defconfig Thu May 22 15:40:37 2003 @@ -599,7 +599,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/oak_defconfig b/arch/ppc/configs/oak_defconfig --- a/arch/ppc/configs/oak_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/oak_defconfig Thu May 22 15:40:37 2003 @@ -405,7 +405,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/pcore_defconfig b/arch/ppc/configs/pcore_defconfig --- a/arch/ppc/configs/pcore_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/pcore_defconfig Thu May 22 15:40:37 2003 @@ -581,7 +581,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/pplus_defconfig b/arch/ppc/configs/pplus_defconfig --- a/arch/ppc/configs/pplus_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/pplus_defconfig Thu May 22 15:40:37 2003 @@ -598,7 +598,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/prpmc750_defconfig b/arch/ppc/configs/prpmc750_defconfig --- a/arch/ppc/configs/prpmc750_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/prpmc750_defconfig Thu May 22 15:40:37 2003 @@ -514,7 +514,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/prpmc800_defconfig b/arch/ppc/configs/prpmc800_defconfig --- a/arch/ppc/configs/prpmc800_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/prpmc800_defconfig Thu May 22 15:40:37 2003 @@ -514,7 +514,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/rainier_defconfig b/arch/ppc/configs/rainier_defconfig --- a/arch/ppc/configs/rainier_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/rainier_defconfig Thu May 22 15:40:37 2003 @@ -494,7 +494,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y CONFIG_NFSD=y # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/ppc/configs/redwood5_defconfig b/arch/ppc/configs/redwood5_defconfig --- a/arch/ppc/configs/redwood5_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/redwood5_defconfig Thu May 22 15:40:37 2003 @@ -437,7 +437,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/redwood6_defconfig b/arch/ppc/configs/redwood6_defconfig --- a/arch/ppc/configs/redwood6_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/redwood6_defconfig Thu May 22 15:40:37 2003 @@ -478,7 +478,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set # CONFIG_NFSD_TCP is not set diff -Nru a/arch/ppc/configs/redwood_defconfig b/arch/ppc/configs/redwood_defconfig --- a/arch/ppc/configs/redwood_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/redwood_defconfig Thu May 22 15:40:37 2003 @@ -425,7 +425,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/rpxcllf_defconfig b/arch/ppc/configs/rpxcllf_defconfig --- a/arch/ppc/configs/rpxcllf_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/rpxcllf_defconfig Thu May 22 15:40:37 2003 @@ -408,7 +408,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/rpxlite_defconfig b/arch/ppc/configs/rpxlite_defconfig --- a/arch/ppc/configs/rpxlite_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/rpxlite_defconfig Thu May 22 15:40:37 2003 @@ -408,7 +408,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/sandpoint_defconfig b/arch/ppc/configs/sandpoint_defconfig --- a/arch/ppc/configs/sandpoint_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/sandpoint_defconfig Thu May 22 15:40:37 2003 @@ -587,7 +587,6 @@ CONFIG_NFS_FS=y CONFIG_NFS_V3=y # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/spruce_defconfig b/arch/ppc/configs/spruce_defconfig --- a/arch/ppc/configs/spruce_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/spruce_defconfig Thu May 22 15:40:37 2003 @@ -469,7 +469,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/sycamore_defconfig b/arch/ppc/configs/sycamore_defconfig --- a/arch/ppc/configs/sycamore_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/sycamore_defconfig Thu May 22 15:40:37 2003 @@ -460,7 +460,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y diff -Nru a/arch/ppc/configs/walnut_defconfig b/arch/ppc/configs/walnut_defconfig --- a/arch/ppc/configs/walnut_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/walnut_defconfig Thu May 22 15:40:37 2003 @@ -472,7 +472,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/ppc/configs/zx4500_defconfig b/arch/ppc/configs/zx4500_defconfig --- a/arch/ppc/configs/zx4500_defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/configs/zx4500_defconfig Thu May 22 15:40:37 2003 @@ -469,7 +469,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y CONFIG_NFSD=y # CONFIG_NFSD_V3 is not set # CONFIG_NFSD_TCP is not set diff -Nru a/arch/ppc/defconfig b/arch/ppc/defconfig --- a/arch/ppc/defconfig Thu May 22 15:40:37 2003 +++ b/arch/ppc/defconfig Thu May 22 15:40:37 2003 @@ -748,7 +748,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y CONFIG_NFS_V3=y -# CONFIG_ROOT_NFS is not set CONFIG_NFSD=y CONFIG_NFSD_V3=y CONFIG_SUNRPC=y diff -Nru a/arch/ppc/platforms/adir_setup.c b/arch/ppc/platforms/adir_setup.c --- a/arch/ppc/platforms/adir_setup.c Thu May 22 15:40:37 2003 +++ b/arch/ppc/platforms/adir_setup.c Thu May 22 15:40:37 2003 @@ -115,11 +115,7 @@ ROOT_DEV = Root_RAM0; else #endif -#ifdef CONFIG_ROOT_NFS - ROOT_DEV = Root_NFS; -#else ROOT_DEV = Root_SDA1; -#endif /* Identify the system */ printk("System Identification: SBS Adirondack - PowerPC 750CXe @ %d Mhz\n", adir_get_cpu_speed()/1000000); diff -Nru a/arch/ppc/platforms/ev64260_setup.c b/arch/ppc/platforms/ev64260_setup.c --- a/arch/ppc/platforms/ev64260_setup.c Thu May 22 15:40:37 2003 +++ b/arch/ppc/platforms/ev64260_setup.c Thu May 22 15:40:37 2003 @@ -197,11 +197,7 @@ ROOT_DEV = Root_RAM0; else #endif -#ifdef CONFIG_ROOT_NFS - ROOT_DEV = Root_NFS; -#else ROOT_DEV = Root_SDA2; -#endif if ( ppc_md.progress ) ppc_md.progress("ev64260_setup_arch: find_bridges", 0); diff -Nru a/arch/ppc/platforms/k2_setup.c b/arch/ppc/platforms/k2_setup.c --- a/arch/ppc/platforms/k2_setup.c Thu May 22 15:40:37 2003 +++ b/arch/ppc/platforms/k2_setup.c Thu May 22 15:40:37 2003 @@ -180,11 +180,7 @@ ROOT_DEV = Root_RAM0; else #endif -#ifdef CONFIG_ROOT_NFS - ROOT_DEV = Root_NFS; -#else ROOT_DEV = Root_HDC1; -#endif #ifdef CONFIG_DUMMY_CONSOLE conswitchp = &dummy_con; diff -Nru a/arch/ppc/platforms/lopec_setup.c b/arch/ppc/platforms/lopec_setup.c --- a/arch/ppc/platforms/lopec_setup.c Thu May 22 15:40:37 2003 +++ b/arch/ppc/platforms/lopec_setup.c Thu May 22 15:40:37 2003 @@ -316,8 +316,6 @@ if (initrd_start) ROOT_DEV = Root_RAM0; else -#elif defined(CONFIG_ROOT_NFS) - ROOT_DEV = Root_NFS; #elif defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE) ROOT_DEV = Root_HDA1; #else diff -Nru a/arch/ppc/platforms/mcpn765_setup.c b/arch/ppc/platforms/mcpn765_setup.c --- a/arch/ppc/platforms/mcpn765_setup.c Thu May 22 15:40:37 2003 +++ b/arch/ppc/platforms/mcpn765_setup.c Thu May 22 15:40:37 2003 @@ -94,11 +94,7 @@ ROOT_DEV = Root_RAM0; else #endif -#ifdef CONFIG_ROOT_NFS - ROOT_DEV = Root_NFS; -#else ROOT_DEV = Root_SDA2; -#endif #ifdef CONFIG_DUMMY_CONSOLE conswitchp = &dummy_con; diff -Nru a/arch/ppc/platforms/menf1_setup.c b/arch/ppc/platforms/menf1_setup.c --- a/arch/ppc/platforms/menf1_setup.c Thu May 22 15:40:37 2003 +++ b/arch/ppc/platforms/menf1_setup.c Thu May 22 15:40:37 2003 @@ -71,11 +71,7 @@ ROOT_DEV = Root_RAM0; else #endif -#ifdef CONFIG_ROOT_NFS - ROOT_DEV = Root_NFS; -#else ROOT_DEV = Root_HDA2; -#endif #ifdef CONFIG_DUMMY_CONSOLE conswitchp = &dummy_con; diff -Nru a/arch/ppc/platforms/mvme5100_setup.c b/arch/ppc/platforms/mvme5100_setup.c --- a/arch/ppc/platforms/mvme5100_setup.c Thu May 22 15:40:37 2003 +++ b/arch/ppc/platforms/mvme5100_setup.c Thu May 22 15:40:37 2003 @@ -79,11 +79,7 @@ ROOT_DEV = Root_RAM0; else #endif -#ifdef CONFIG_ROOT_NFS - ROOT_DEV = Root_NFS; -#else ROOT_DEV = Root_SDA2; -#endif #ifdef CONFIG_DUMMY_CONSOLE conswitchp = &dummy_con; diff -Nru a/arch/ppc/platforms/pal4_setup.c b/arch/ppc/platforms/pal4_setup.c --- a/arch/ppc/platforms/pal4_setup.c Thu May 22 15:40:37 2003 +++ b/arch/ppc/platforms/pal4_setup.c Thu May 22 15:40:37 2003 @@ -120,9 +120,7 @@ #ifdef CONFIG_BLK_DEV_INITRD if (initrd_start) ROOT_DEV = Root_RAM0; - else #endif - ROOT_DEV = Root_NFS; /* The L2 gets disabled in the bootloader, but all the proper bits should be present from the fw, so just re-enable it */ diff -Nru a/arch/ppc/platforms/pcore_setup.c b/arch/ppc/platforms/pcore_setup.c --- a/arch/ppc/platforms/pcore_setup.c Thu May 22 15:40:37 2003 +++ b/arch/ppc/platforms/pcore_setup.c Thu May 22 15:40:37 2003 @@ -120,11 +120,7 @@ ROOT_DEV = Root_RAM0; else #endif -#ifdef CONFIG_ROOT_NFS - ROOT_DEV = Root_NFS; -#else ROOT_DEV = Root_SDA2; -#endif #ifdef CONFIG_DUMMY_CONSOLE conswitchp = &dummy_con; diff -Nru a/arch/ppc/platforms/powerpmc250.c b/arch/ppc/platforms/powerpmc250.c --- a/arch/ppc/platforms/powerpmc250.c Thu May 22 15:40:37 2003 +++ b/arch/ppc/platforms/powerpmc250.c Thu May 22 15:40:37 2003 @@ -83,11 +83,7 @@ ROOT_DEV = Root_RAM0; else #endif -#ifdef CONFIG_ROOT_NFS - ROOT_DEV = Root_NFS; -#else ROOT_DEV = Root_SDA2; -#endif printk("Force PowerPMC250 port (C) 2001 MontaVista Software, Inc. (source@mvista.com)\n"); } diff -Nru a/arch/ppc/platforms/pplus_setup.c b/arch/ppc/platforms/pplus_setup.c --- a/arch/ppc/platforms/pplus_setup.c Thu May 22 15:40:37 2003 +++ b/arch/ppc/platforms/pplus_setup.c Thu May 22 15:40:37 2003 @@ -120,11 +120,7 @@ ROOT_DEV = Root_RAM0; else #endif -#ifdef CONFIG_ROOT_NFS - ROOT_DEV = Root_NFS; -#else ROOT_DEV = Root_SDA2; -#endif printk(KERN_INFO "Motorola PowerPlus Platform\n"); printk(KERN_INFO "Port by MontaVista Software, Inc. (source@mvista.com)\n"); diff -Nru a/arch/ppc/platforms/prep_setup.c b/arch/ppc/platforms/prep_setup.c --- a/arch/ppc/platforms/prep_setup.c Thu May 22 15:40:37 2003 +++ b/arch/ppc/platforms/prep_setup.c Thu May 22 15:40:37 2003 @@ -767,11 +767,7 @@ ROOT_DEV = Root_RAM0; else #endif -#ifdef CONFIG_ROOT_NFS - ROOT_DEV = Root_NFS; -#else ROOT_DEV = Root_SDA2; -#endif break; } diff -Nru a/arch/ppc/platforms/prpmc750_setup.c b/arch/ppc/platforms/prpmc750_setup.c --- a/arch/ppc/platforms/prpmc750_setup.c Thu May 22 15:40:37 2003 +++ b/arch/ppc/platforms/prpmc750_setup.c Thu May 22 15:40:37 2003 @@ -87,11 +87,7 @@ ROOT_DEV = Root_RAM0; else #endif -#ifdef CONFIG_ROOT_NFS - ROOT_DEV = Root_NFS; -#else ROOT_DEV = Root_SDA2; -#endif #ifdef CONFIG_DUMMY_CONSOLE conswitchp = &dummy_con; diff -Nru a/arch/ppc/platforms/prpmc800_setup.c b/arch/ppc/platforms/prpmc800_setup.c --- a/arch/ppc/platforms/prpmc800_setup.c Thu May 22 15:40:37 2003 +++ b/arch/ppc/platforms/prpmc800_setup.c Thu May 22 15:40:37 2003 @@ -94,11 +94,7 @@ ROOT_DEV = Root_RAM0; else #endif -#ifdef CONFIG_ROOT_NFS - ROOT_DEV = Root_NFS; -#else ROOT_DEV = Root_SDA2; -#endif #ifdef CONFIG_DUMMY_CONSOLE conswitchp = &dummy_con; diff -Nru a/arch/ppc/platforms/sandpoint_setup.c b/arch/ppc/platforms/sandpoint_setup.c --- a/arch/ppc/platforms/sandpoint_setup.c Thu May 22 15:40:37 2003 +++ b/arch/ppc/platforms/sandpoint_setup.c Thu May 22 15:40:37 2003 @@ -154,11 +154,7 @@ ROOT_DEV = Root_RAM0; else #endif -#ifdef CONFIG_ROOT_NFS - ROOT_DEV = Root_NFS; -#else ROOT_DEV = Root_HDA1; -#endif /* Lookup PCI host bridges */ sandpoint_find_bridges(); diff -Nru a/arch/ppc/platforms/spruce_setup.c b/arch/ppc/platforms/spruce_setup.c --- a/arch/ppc/platforms/spruce_setup.c Thu May 22 15:40:37 2003 +++ b/arch/ppc/platforms/spruce_setup.c Thu May 22 15:40:37 2003 @@ -122,11 +122,7 @@ ROOT_DEV = Root_RAM0; else #endif -#ifdef CONFIG_ROOT_NFS - ROOT_DEV = Root_NFS; -#else ROOT_DEV = Root_SDA1; -#endif #ifdef CONFIG_DUMMY_CONSOLE conswitchp = &dummy_con; diff -Nru a/arch/ppc/platforms/zx4500_setup.c b/arch/ppc/platforms/zx4500_setup.c --- a/arch/ppc/platforms/zx4500_setup.c Thu May 22 15:40:37 2003 +++ b/arch/ppc/platforms/zx4500_setup.c Thu May 22 15:40:37 2003 @@ -97,11 +97,7 @@ ROOT_DEV = Root_RAM0; else #endif -#if defined(CONFIG_ROOT_NFS) - ROOT_DEV = Root_NFS; -#else ROOT_DEV = Root_SDA1; -#endif /* Get boot string from flash */ strncpy(boot_string, diff -Nru a/arch/sparc/defconfig b/arch/sparc/defconfig --- a/arch/sparc/defconfig Thu May 22 15:40:37 2003 +++ b/arch/sparc/defconfig Thu May 22 15:40:37 2003 @@ -313,7 +313,6 @@ CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_V4 is not set -CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y diff -Nru a/arch/um/config.release b/arch/um/config.release --- a/arch/um/config.release Thu May 22 15:40:37 2003 +++ b/arch/um/config.release Thu May 22 15:40:37 2003 @@ -238,7 +238,6 @@ # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y CONFIG_NFS_V3=y -# CONFIG_ROOT_NFS is not set CONFIG_NFSD=y CONFIG_NFSD_V3=y CONFIG_SUNRPC=y diff -Nru a/fs/Kconfig b/fs/Kconfig --- a/fs/Kconfig Thu May 22 15:40:37 2003 +++ b/fs/Kconfig Thu May 22 15:40:37 2003 @@ -1329,17 +1329,6 @@ Enable NFS service over TCP connections. This the officially still experimental, but seems to work well. -config ROOT_NFS - bool "Root file system on NFS" - depends on NFS_FS=y && NFS_FS=n - help - If you want your Linux box to mount its whole root file system (the - one containing the directory /) from some other computer over the - net via NFS (presumably because your box doesn't have a hard disk), - say Y. Read <file:Documentation/nfsroot.txt> for details. - - Most people say N here. - config LOCKD tristate default m if NFS_FS!=y && NFSD!=y && (NFS_FS=m || NFSD=m) diff -Nru a/fs/nfs/Makefile b/fs/nfs/Makefile --- a/fs/nfs/Makefile Thu May 22 15:40:37 2003 +++ b/fs/nfs/Makefile Thu May 22 15:40:37 2003 @@ -6,7 +6,6 @@ nfs-y := dir.o file.o inode.o nfs2xdr.o pagelist.o \ proc.o read.o symlink.o unlink.o write.o -nfs-$(CONFIG_ROOT_NFS) += nfsroot.o mount_clnt.o nfs-$(CONFIG_NFS_V3) += nfs3proc.o nfs3xdr.o nfs-$(CONFIG_NFS_V4) += nfs4proc.o nfs4xdr.o nfs4state.o nfs4renewd.o \ idmap.o diff -Nru a/fs/nfs/mount_clnt.c b/fs/nfs/mount_clnt.c --- a/fs/nfs/mount_clnt.c Thu May 22 15:40:37 2003 +++ /dev/null Wed Dec 31 16:00:00 1969 @@ -1,183 +0,0 @@ -/* - * linux/fs/nfs/mount_clnt.c - * - * MOUNT client to support NFSroot. - * - * Copyright (C) 1997, Olaf Kirch <okir@monad.swb.de> - */ - -#include <linux/types.h> -#include <linux/socket.h> -#include <linux/kernel.h> -#include <linux/errno.h> -#include <linux/uio.h> -#include <linux/net.h> -#include <linux/in.h> -#include <linux/sunrpc/clnt.h> -#include <linux/sunrpc/xprt.h> -#include <linux/sunrpc/sched.h> -#include <linux/nfs_fs.h> - -#ifdef RPC_DEBUG -# define NFSDBG_FACILITY NFSDBG_ROOT -#endif - -/* -#define MOUNT_PROGRAM 100005 -#define MOUNT_VERSION 1 -#define MOUNT_MNT 1 -#define MOUNT_UMNT 3 - */ - -static struct rpc_clnt * mnt_create(char *, struct sockaddr_in *, - int, int); -struct rpc_program mnt_program; - -struct mnt_fhstatus { - unsigned int status; - struct nfs_fh * fh; -}; - -/* - * Obtain an NFS file handle for the given host and path - */ -int -nfsroot_mount(struct sockaddr_in *addr, char *path, struct nfs_fh *fh, - int version, int protocol) -{ - struct rpc_clnt *mnt_clnt; - struct mnt_fhstatus result = { - .fh = fh - }; - char hostname[32]; - int status; - int call; - - dprintk("NFS: nfs_mount(%08x:%s)\n", - (unsigned)ntohl(addr->sin_addr.s_addr), path); - - sprintf(hostname, "%u.%u.%u.%u", NIPQUAD(addr->sin_addr.s_addr)); - if (!(mnt_clnt = mnt_create(hostname, addr, version, protocol))) - return -EACCES; - - call = (version == NFS_MNT3_VERSION) ? MOUNTPROC3_MNT : MNTPROC_MNT; - status = rpc_call(mnt_clnt, call, path, &result, 0); - return status < 0? status : (result.status? -EACCES : 0); -} - -static struct rpc_clnt * -mnt_create(char *hostname, struct sockaddr_in *srvaddr, int version, - int protocol) -{ - struct rpc_xprt *xprt; - struct rpc_clnt *clnt; - - if (!(xprt = xprt_create_proto(protocol, srvaddr, NULL))) - return NULL; - - clnt = rpc_create_client(xprt, hostname, - &mnt_program, version, - RPC_AUTH_NULL); - if (!clnt) { - xprt_destroy(xprt); - } else { - clnt->cl_softrtry = 1; - clnt->cl_chatty = 1; - clnt->cl_oneshot = 1; - clnt->cl_intr = 1; - } - return clnt; -} - -/* - * XDR encode/decode functions for MOUNT - */ -static int -xdr_encode_dirpath(struct rpc_rqst *req, u32 *p, const char *path) -{ - p = xdr_encode_string(p, path); - - req->rq_slen = xdr_adjust_iovec(req->rq_svec, p); - return 0; -} - -static int -xdr_decode_fhstatus(struct rpc_rqst *req, u32 *p, struct mnt_fhstatus *res) -{ - struct nfs_fh *fh = res->fh; - - memset((void *)fh, 0, sizeof(*fh)); - if ((res->status = ntohl(*p++)) == 0) { - fh->size = NFS2_FHSIZE; - memcpy(fh->data, p, NFS2_FHSIZE); - } - return 0; -} - -static int -xdr_decode_fhstatus3(struct rpc_rqst *req, u32 *p, struct mnt_fhstatus *res) -{ - struct nfs_fh *fh = res->fh; - - memset((void *)fh, 0, sizeof(*fh)); - if ((res->status = ntohl(*p++)) == 0) { - int size = ntohl(*p++); - if (size <= NFS3_FHSIZE) { - fh->size = size; - memcpy(fh->data, p, size); - } else - res->status = -EBADHANDLE; - } - return 0; -} - -#define MNT_dirpath_sz (1 + 256) -#define MNT_fhstatus_sz (1 + 8) - -static struct rpc_procinfo mnt_procedures[] = { -[MNTPROC_MNT] = { - .p_proc = MNTPROC_MNT, - .p_encode = (kxdrproc_t) xdr_encode_dirpath, - .p_decode = (kxdrproc_t) xdr_decode_fhstatus, - .p_bufsiz = MNT_dirpath_sz << 2, - }, -}; - -static struct rpc_procinfo mnt3_procedures[] = { -[MOUNTPROC3_MNT] = { - .p_proc = MOUNTPROC3_MNT, - .p_encode = (kxdrproc_t) xdr_encode_dirpath, - .p_decode = (kxdrproc_t) xdr_decode_fhstatus3, - .p_bufsiz = MNT_dirpath_sz << 2, - }, -}; - - -static struct rpc_version mnt_version1 = { - .number = 1, - .nrprocs = 2, - .procs = mnt_procedures -}; - -static struct rpc_version mnt_version3 = { - .number = 3, - .nrprocs = 2, - .procs = mnt3_procedures -}; - -static struct rpc_version * mnt_version[] = { - NULL, - &mnt_version1, - NULL, - &mnt_version3, -}; - -static struct rpc_stat mnt_stats; - -struct rpc_program mnt_program = { - .name = "mount", - .number = NFS_MNT_PROGRAM, - .nrvers = sizeof(mnt_version)/sizeof(mnt_version[0]), - .version = mnt_version, - .stats = &mnt_stats, -}; diff -Nru a/fs/nfs/nfsroot.c b/fs/nfs/nfsroot.c --- a/fs/nfs/nfsroot.c Thu May 22 15:40:37 2003 +++ /dev/null Wed Dec 31 16:00:00 1969 @@ -1,472 +0,0 @@ -/* - * $Id: nfsroot.c,v 1.45 1998/03/07 10:44:46 mj Exp $ - * - * Copyright (C) 1995, 1996 Gero Kuhlmann <gero@gkminix.han.de> - * - * Allow an NFS filesystem to be mounted as root. The way this works is: - * (1) Use the IP autoconfig mechanism to set local IP addresses and routes. - * (2) Handle RPC negotiation with the system which replied to RARP or - * was reported as a boot server by BOOTP or manually. - * (3) The actual mounting is done later, when init() is running. - * - * - * Changes: - * - * Alan Cox : Removed get_address name clash with FPU. - * Alan Cox : Reformatted a bit. - * Gero Kuhlmann : Code cleanup - * Michael Rausch : Fixed recognition of an incoming RARP answer. - * Martin Mares : (2.0) Auto-configuration via BOOTP supported. - * Martin Mares : Manual selection of interface & BOOTP/RARP. - * Martin Mares : Using network routes instead of host routes, - * allowing the default configuration to be used - * for normal operation of the host. - * Martin Mares : Randomized timer with exponential backoff - * installed to minimize network congestion. - * Martin Mares : Code cleanup. - * Martin Mares : (2.1) BOOTP and RARP made configuration options. - * Martin Mares : Server hostname generation fixed. - * Gerd Knorr : Fixed wired inode handling - * Martin Mares : (2.2) "0.0.0.0" addresses from command line ignored. - * Martin Mares : RARP replies not tested for server address. - * Gero Kuhlmann : (2.3) Some bug fixes and code cleanup again (please - * send me your new patches _before_ bothering - * Linus so that I don' always have to cleanup - * _afterwards_ - thanks) - * Gero Kuhlmann : Last changes of Martin Mares undone. - * Gero Kuhlmann : RARP replies are tested for specified server - * again. However, it's now possible to have - * different RARP and NFS servers. - * Gero Kuhlmann : "0.0.0.0" addresses from command line are - * now mapped to INADDR_NONE. - * Gero Kuhlmann : Fixed a bug which prevented BOOTP path name - * from being used (thanks to Leo Spiekman) - * Andy Walker : Allow to specify the NFS server in nfs_root - * without giving a path name - * Swen Th#include <linux/inet.h> -#include <linux/root_dev.h> -#include <net/ipconfig.h> - -/* Define this to allow debugging output */ -#undef NFSROOT_DEBUG -#define NFSDBG_FACILITY NFSDBG_ROOT - -/* Default path we try to mount. "%s" gets replaced by our IP address */ -#define NFS_ROOT "/tftpboot/%s" - -/* Parameters passed from the kernel command line */ -static char nfs_root_name[256] __initdata = ""; - -/* Address of NFS server */ -static __u32 servaddr __initdata = 0; - -/* Name of directory to mount */ -static char nfs_path[NFS_MAXPATHLEN] __initdata = { 0, }; - -/* NFS-related data */ -static struct nfs_mount_data nfs_data __initdata = { 0, };/* NFS mount info */ -static int nfs_port __initdata = 0; /* Port to connect to for NFS */ -static int mount_port __initdata = 0; /* Mount daemon port number */ - - -/*************************************************************************** - - Parsing of options - - ***************************************************************************/ - -/* - * The following integer options are recognized - */ -static struct nfs_int_opts { - char *name; - int *val; -} root_int_opts[] __initdata = { - { "port", &nfs_port }, - { "rsize", &nfs_data.rsize }, - { "wsize", &nfs_data.wsize }, - { "timeo", &nfs_data.timeo }, - { "retrans", &nfs_data.retrans }, - { "acregmin", &nfs_data.acregmin }, - { "acregmax", &nfs_data.acregmax }, - { "acdirmin", &nfs_data.acdirmin }, - { "acdirmax", &nfs_data.acdirmax }, - { NULL, NULL } -}; - - -/* - * And now the flag options - */ -static struct nfs_bool_opts { - char *name; - int and_mask; - int or_mask; -} root_bool_opts[] __initdata = { - { "soft", ~NFS_MOUNT_SOFT, NFS_MOUNT_SOFT }, - { "hard", ~NFS_MOUNT_SOFT, 0 }, - { "intr", ~NFS_MOUNT_INTR, NFS_MOUNT_INTR }, - { "nointr", ~NFS_MOUNT_INTR, 0 }, - { "posix", ~NFS_MOUNT_POSIX, NFS_MOUNT_POSIX }, - { "noposix", ~NFS_MOUNT_POSIX, 0 }, - { "cto", ~NFS_MOUNT_NOCTO, 0 }, - { "nocto", ~NFS_MOUNT_NOCTO, NFS_MOUNT_NOCTO }, - { "ac", ~NFS_MOUNT_NOAC, 0 }, - { "noac", ~NFS_MOUNT_NOAC, NFS_MOUNT_NOAC }, - { "lock", ~NFS_MOUNT_NONLM, 0 }, - { "nolock", ~NFS_MOUNT_NONLM, NFS_MOUNT_NONLM }, -#ifdef CONFIG_NFS_V3 - { "v2", ~NFS_MOUNT_VER3, 0 }, - { "v3", ~NFS_MOUNT_VER3, NFS_MOUNT_VER3 }, -#endif - { "udp", ~NFS_MOUNT_TCP, 0 }, - { "tcp", ~NFS_MOUNT_TCP, NFS_MOUNT_TCP }, - { "broken_suid",~NFS_MOUNT_BROKEN_SUID, NFS_MOUNT_BROKEN_SUID }, - { NULL, 0, 0 } -}; - - -/* - * Extract IP address from the parameter string if needed. Note that we - * need to have root_server_addr set _before_ IPConfig gets called as it - * can override it. - */ -static void __init root_nfs_parse_addr(char *name) -{ - int octets = 0; - char *cp, *cq; - - cp = cq = name; - while (octets < 4) { - while (*cp >= '0' && *cp <= '9') - cp++; - if (cp == cq || cp - cq > 3) - break; - if (*cp == '.' || octets == 3) - octets++; - if (octets < 4) - cp++; - cq = cp; - } - if (octets == 4 && (*cp == ':' || *cp == '\0')) { - if (*cp == ':') - *cp++ = '\0'; - root_server_addr = in_aton(name); - strcpy(name, cp); - } -} - - -/* - * Parse option string. - */ -static void __init root_nfs_parse(char *name, char *buf) -{ - char *options, *val, *cp; - - if ((options = strchr(name, ','))) { - *options++ = 0; - while ((cp = strsep(&options, ",")) != NULL) { - if (!*cp) - continue; - if ((val = strchr(cp, '='))) { - struct nfs_int_opts *opts = root_int_opts; - *val++ = '\0'; - while (opts->name && strcmp(opts->name, cp)) - opts++; - if (opts->name) - *(opts->val) = (int) simple_strtoul(val, NULL, 10); - } else { - struct nfs_bool_opts *opts = root_bool_opts; - while (opts->name && strcmp(opts->name, cp)) - opts++; - if (opts->name) { - nfs_data.flags &= opts->and_mask; - nfs_data.flags |= opts->or_mask; - } - } - } - } - if (name[0] && strcmp(name, "default")) { - strncpy(buf, name, NFS_MAXPATHLEN-1); - buf[NFS_MAXPATHLEN-1] = 0; - } -} - - -/* - * Prepare the NFS data structure and parse all options. - */ -static int __init root_nfs_name(char *name) -{ - char buf[NFS_MAXPATHLEN]; - char *cp; - - /* Set some default values */ - memset(&nfs_data, 0, sizeof(nfs_data)); - nfs_port = -1; - nfs_data.version = NFS_MOUNT_VERSION; - nfs_data.flags = NFS_MOUNT_NONLM; /* No lockd in nfs root yet */ - nfs_data.rsize = NFS_DEF_FILE_IO_BUFFER_SIZE; - nfs_data.wsize = NFS_DEF_FILE_IO_BUFFER_SIZE; - nfs_data.bsize = 0; - nfs_data.timeo = 7; - nfs_data.retrans = 3; - nfs_data.acregmin = 3; - nfs_data.acregmax = 60; - nfs_data.acdirmin = 30; - nfs_data.acdirmax = 60; - strcpy(buf, NFS_ROOT); - - /* Process options received from the remote server */ - root_nfs_parse(root_server_path, buf); - - /* Override them by options set on kernel command-line */ - root_nfs_parse(name, buf); - - cp = system_utsname.nodename; - if (strlen(buf) + strlen(cp) > NFS_MAXPATHLEN) { - printk(KERN_ERR "Root-NFS: Pathname for remote directory too long.\n"); - return -1; - } - sprintf(nfs_path, buf, cp); - - return 1; -} - - -/* - * Get NFS server address. - */ -static int __init root_nfs_addr(void) -{ - if ((servaddr = root_server_addr) == INADDR_NONE) { - printk(KERN_ERR "Root-NFS: No NFS server available, giving up.\n"); - return -1; - } - - snprintf(nfs_data.hostname, sizeof(nfs_data.hostname), - "%u.%u.%u.%u", NIPQUAD(servaddr)); - return 0; -} - -/* - * Tell the user what's going on. - */ -#ifdef NFSROOT_DEBUG -static void __init root_nfs_print(void) -{ - printk(KERN_NOTICE "Root-NFS: Mounting %s on server %s as root\n", - nfs_path, nfs_data.hostname); - printk(KERN_NOTICE "Root-NFS: rsize = %d, wsize = %d, timeo = %d, retrans = %d\n", - nfs_data.rsize, nfs_data.wsize, nfs_data.timeo, nfs_data.retrans); - printk(KERN_NOTICE "Root-NFS: acreg (min,max) = (%d,%d), acdir (min,max) = (%d,%d)\n", - nfs_data.acregmin, nfs_data.acregmax, - nfs_data.acdirmin, nfs_data.acdirmax); - printk(KERN_NOTICE "Root-NFS: nfsd port = %d, mountd port = %d, flags = %08x\n", - nfs_port, mount_port, nfs_data.flags); -} -#endif - - -int __init root_nfs_init(void) -{ -#ifdef NFSROOT_DEBUG - nfs_debug |= NFSDBG_ROOT; -#endif - - /* - * Decode the root directory path name and NFS options from - * the kernel command line. This has to go here in order to - * be able to use the client IP address for the remote root - * directory (necessary for pure RARP booting). - */ - if (root_nfs_name(nfs_root_name) < 0 || - root_nfs_addr() < 0) - return -1; - -#ifdef NFSROOT_DEBUG - root_nfs_print(); -#endif - - return 0; -} - - -/* - * Parse NFS server and directory information passed on the kernel - * command line. - */ -int __init nfs_root_setup(char *line) -{ - ROOT_DEV = Root_NFS; - if (line[0] == '/' || line[0] == ',' || (line[0] >= '0' && line[0] <= '9')) { - strncpy(nfs_root_name, line, sizeof(nfs_root_name)); - nfs_root_name[sizeof(nfs_root_name)-1] = '\0'; - } else { - int n = strlen(line) + strlen(NFS_ROOT); - if (n >= sizeof(nfs_root_name)) - line[sizeof(nfs_root_name) - strlen(NFS_ROOT) - 1] = '\0'; - sprintf(nfs_root_name, NFS_ROOT, line); - } - root_nfs_parse_addr(nfs_root_name); - return 1; -} - -__setup("nfsroot=", nfs_root_setup); - -/*************************************************************************** - - Routines to actually mount the root directory - - ***************************************************************************/ - -/* - * Construct sockaddr_in from address and port number. - */ -static inline void -set_sockaddr(struct sockaddr_in *sin, __u32 addr, __u16 port) -{ - sin->sin_family = AF_INET; - sin->sin_addr.s_addr = addr; - sin->sin_port = port; -} - -/* - * Query server portmapper for the port of a daemon program. - */ -static int __init root_nfs_getport(int program, int version, int proto) -{ - struct sockaddr_in sin; - - printk(KERN_NOTICE "Looking up port of RPC %d/%d on %u.%u.%u.%u\n", - program, version, NIPQUAD(servaddr)); - set_sockaddr(&sin, servaddr, 0); - return rpc_getport_external(&sin, program, version, proto); -} - - -/* - * Use portmapper to find mountd and nfsd port numbers if not overriden - * by the user. Use defaults if portmapper is not available. - * XXX: Is there any nfs server with no portmapper? - */ -static int __init root_nfs_ports(void) -{ - int port; - int nfsd_ver, mountd_ver; - int nfsd_port, mountd_port; - int proto; - - if (nfs_data.flags & NFS_MOUNT_VER3) { - nfsd_ver = NFS3_VERSION; - mountd_ver = NFS_MNT3_VERSION; - nfsd_port = NFS_PORT; - mountd_port = NFS_MNT_PORT; - } else { - nfsd_ver = NFS2_VERSION; - mountd_ver = NFS_MNT_VERSION; - nfsd_port = NFS_PORT; - mountd_port = NFS_MNT_PORT; - } - - proto = (nfs_data.flags & NFS_MOUNT_TCP) ? IPPROTO_TCP : IPPROTO_UDP; - - if (nfs_port < 0) { - if ((port = root_nfs_getport(NFS_PROGRAM, nfsd_ver, proto)) < 0) { - printk(KERN_ERR "Root-NFS: Unable to get nfsd port " - "number from server, using default\n"); - port = nfsd_port; - } - nfs_port = htons(port); - dprintk("Root-NFS: Portmapper on server returned %d " - "as nfsd port\n", port); - } - - if ((port = root_nfs_getport(NFS_MNT_PROGRAM, mountd_ver, proto)) < 0) { - printk(KERN_ERR "Root-NFS: Unable to get mountd port " - "number from server, using default\n"); - port = mountd_port; - } - mount_port = htons(port); - dprintk("Root-NFS: mountd port is %d\n", port); - - return 0; -} - - -/* - * Get a file handle from the server for the directory which is to be - * mounted. - */ -static int __init root_nfs_get_handle(void) -{ - struct sockaddr_in sin; - int status; - int protocol = (nfs_data.flags & NFS_MOUNT_TCP) ? - IPPROTO_TCP : IPPROTO_UDP; - int version = (nfs_data.flags & NFS_MOUNT_VER3) ? - NFS_MNT3_VERSION : NFS_MNT_VERSION; - - set_sockaddr(&sin, servaddr, mount_port); - status = nfsroot_mount(&sin, nfs_path, &nfs_data.root, - version, protocol); - if (status < 0) - printk(KERN_ERR "Root-NFS: Server returned error %d " - "while mounting %s\n", status, nfs_path); - - return status; -} - -/* - * Get the NFS port numbers and file handle, and return the prepared 'data' - * argument for mount() if everything went OK. Return NULL otherwise. - */ -void * __init nfs_root_data(void) -{ - if (root_nfs_init() < 0 - || root_nfs_ports() < 0 - || root_nfs_get_handle() < 0) - return NULL; - set_sockaddr((struct sockaddr_in *) &nfs_data.addr, servaddr, nfs_port); - return (void*)&nfs_data; -} diff -Nru a/include/linux/root_dev.h b/include/linux/root_dev.h --- a/include/linux/root_dev.h Thu May 22 15:40:37 2003 +++ b/include/linux/root_dev.h Thu May 22 15:40:37 2003 @@ -2,7 +2,7 @@ #define _ROOT_DEV_H_ enum { - Root_NFS = MKDEV(UNNAMED_MAJOR, 255), + Root_InitRamFS = MKDEV(UNNAMED_MAJOR, 255), Root_RAM0 = MKDEV(RAMDISK_MAJOR, 0), Root_RAM1 = MKDEV(RAMDISK_MAJOR, 1), Root_FD0 = MKDEV(FLOPPY_MAJOR, 0), diff -Nru a/init/do_mounts.c b/init/do_mounts.c --- a/init/do_mounts.c Thu May 22 15:40:37 2003 +++ b/init/do_mounts.c Thu May 22 15:40:37 2003 @@ -6,10 +6,6 @@ #include <linux/root_dev.h> #include <linux/security.h> -#include <linux/nfs_fs.h> -#include <linux/nfs_fs_sb.h> -#include <linux/nfs_mount.h> - #include "do_mounts.h" extern int get_filesystem_list(char * buf); @@ -103,7 +99,8 @@ * Convert a name into device number. We accept the following variants: * * 1) device number in hexadecimal represents itself - * 2) /dev/nfs represents Root_NFS (0xff) + * 2) initramfs indicates we're using initramfs, and don't need to mount + * (/dev/nfs is accepted as a synonym, for backwards compatibility) * 3) /dev/<disk_name> represents the device number of disk * 4) /dev/<disk_name><decimal> represents the device number * of partition - device number of disk plus the partition number @@ -125,6 +122,11 @@ dev_t res = 0; int part; + if (strncmp(name, "initramfs", 9) == 0 || strcmp(name, "/dev/nfs") == 0) { + ROOT_DEV = Root_InitRamFS; + goto nada; + } + sys_mkdir("/sys", 0700); if (sys_mount("sysfs", "/sys", "sysfs", 0, NULL) < 0) goto out; @@ -136,9 +138,6 @@ goto done; } name += 5; - res = Root_NFS; - if (strcmp(name, "nfs") == 0) - goto done; if (strlen(name) > 31) goto fail; @@ -168,6 +167,7 @@ sys_umount("/sys", 0); out: sys_rmdir("/sys"); +nada: return res; fail: res = (dev_t) 0; @@ -275,19 +275,6 @@ putname(fs_names); } -#ifdef CONFIG_ROOT_NFS -static int __init mount_nfs_root(void) -{ - void *data = nfs_root_data(); - - create_dev("/dev/root", ROOT_DEV, NULL); - if (data && - do_mount_root("/dev/root", "nfs", root_mountflags, data) == 0) - return 1; - return 0; -} -#endif - #if defined(CONFIG_BLK_DEV_RAM) || defined(CONFIG_BLK_DEV_FD) void __init change_floppy(char *fmt, ...) { @@ -320,15 +307,6 @@ void __init mount_root(void) { -#ifdef CONFIG_ROOT_NFS - if (MAJOR(ROOT_DEV) == UNNAMED_MAJOR) { - if (mount_nfs_root()) - return; - - printk(KERN_ERR "VFS: Unable to mount root fs via NFS, trying floppy.\n"); - ROOT_DEV = Root_FD0; - } -#endif #ifdef CONFIG_BLK_DEV_FD if (MAJOR(ROOT_DEV) == FLOPPY_MAJOR) { /* rd_doload is 2 for a dual initrd/ramload setup */ @@ -352,10 +330,6 @@ { int is_floppy; - mount_devfs(); - - md_run_setup(); - if (saved_root_name[0]) { root_device_name = saved_root_name; ROOT_DEV = name_to_dev_t(root_device_name); @@ -363,6 +337,13 @@ root_device_name += 5; } + if (ROOT_DEV == Root_InitRamFS) + goto done; + + mount_devfs(); + + md_run_setup(); + is_floppy = MAJOR(ROOT_DEV) == FLOPPY_MAJOR; /* This has to be before mounting root, because even readonly mount of reiserfs would replay @@ -382,5 +363,7 @@ sys_chroot("."); security_sb_post_mountroot(); mount_devfs_fs (); +done: + return; } diff -Nru a/kernel/sysctl.c b/kernel/sysctl.c --- a/kernel/sysctl.c Thu May 22 15:40:37 2003 +++ b/kernel/sysctl.c Thu May 22 15:40:37 2003 @@ -37,10 +37,6 @@ #include <linux/security.h> #include <asm/uaccess.h> -#ifdef CONFIG_ROOT_NFS -#include <linux/nfs_fs.h> -#endif - #if defined(CONFIG_SYSCTL) /* External variables not in a header file. */ diff -Nru a/net/sunrpc/pmap_clnt.c b/net/sunrpc/pmap_clnt.c --- a/net/sunrpc/pmap_clnt.c Thu May 22 15:40:37 2003 +++ b/net/sunrpc/pmap_clnt.c Thu May 22 15:40:37 2003 @@ -92,39 +92,6 @@ task->tk_action = NULL; } -#ifdef CONFIG_ROOT_NFS -int -rpc_getport_external(struct sockaddr_in *sin, __u32 prog, __u32 vers, int prot) -{ - struct rpc_portmap map = { - .pm_prog = prog, - .pm_vers = vers, - .pm_prot = prot, - .pm_port = 0 - }; - struct rpc_clnt *pmap_clnt; - char hostname[32]; - int status; - - dprintk("RPC: rpc_getport_external(%u.%u.%u.%u, %d, %d, %d)\n", - NIPQUAD(sin->sin_addr.s_addr), prog, vers, prot); - - sprintf(hostname, "%u.%u.%u.%u", NIPQUAD(sin->sin_addr.s_addr)); - if (!(pmap_clnt = pmap_create(hostname, sin, prot))) - return -EACCES; - - /* Setup the call info struct */ - status = rpc_call(pmap_clnt, PMAP_GETPORT, &map, &map.pm_port, 0); - - if (status >= 0) { - if (map.pm_port != 0) - return map.pm_port; - status = -EACCES; - } - return status; -} -#endif - static void pmap_getport_done(struct rpc_task *task) {