diff options
| author | Horms <horms@verge.net.au> | 2006-07-10 07:43:58 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-07-10 16:24:13 -0400 |
| commit | 64552a50bc80fecb73617336bf197375868faf6e (patch) | |
| tree | 767b65ce1b4cd757f95b4048376d6f63fad68b8c | |
| parent | 73ce5934e2d855db436566297f12966eb507a435 (diff) | |
[PATCH] nfs: Update Documentation/nfsroot.txt to include dhcp, syslinux and isolinux
* Document the ip command a little differently to make the
interaction between defaults and autoconfiguration a little clearer
(I hope)
* Update autoconfiguration the current set of options, including DHCP
* Update the boot methods to add syslinux and isolinux, and remove
dd of=/dev/fd0 which is no longer supported by linux
* Add a referance to initramfs along side initrd.
Should the latter and its document be removed some time soon?
* Various cleanups to put the text consistently into the thrid person
* Reformated a bit to fit into 80 columns a bit more nicely
* Should the bootloaders documentation be removed or split
into a separate documentation, it seems somewhat out of scope
Signed-off-by: Horms <horms@verge.net.au>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| -rw-r--r-- | Documentation/nfsroot.txt | 275 |
1 files changed, 160 insertions, 115 deletions
diff --git a/Documentation/nfsroot.txt b/Documentation/nfsroot.txt index d56dc71d94..3cc953cb28 100644 --- a/Documentation/nfsroot.txt +++ b/Documentation/nfsroot.txt | |||
| @@ -4,15 +4,16 @@ Mounting the root filesystem via NFS (nfsroot) | |||
| 4 | Written 1996 by Gero Kuhlmann <gero@gkminix.han.de> | 4 | Written 1996 by Gero Kuhlmann <gero@gkminix.han.de> |
| 5 | Updated 1997 by Martin Mares <mj@atrey.karlin.mff.cuni.cz> | 5 | Updated 1997 by Martin Mares <mj@atrey.karlin.mff.cuni.cz> |
| 6 | Updated 2006 by Nico Schottelius <nico-kernel-nfsroot@schottelius.org> | 6 | Updated 2006 by Nico Schottelius <nico-kernel-nfsroot@schottelius.org> |
| 7 | Updated 2006 by Horms <horms@verge.net.au> | ||
| 7 | 8 | ||
| 8 | 9 | ||
| 9 | 10 | ||
| 10 | If you want to use a diskless system, as an X-terminal or printer | 11 | In order to use a diskless system, such as an X-terminal or printer server |
| 11 | server for example, you have to put your root filesystem onto a | 12 | for example, it is necessary for the root filesystem to be present on a |
| 12 | non-disk device. This can either be a ramdisk (see initrd.txt in | 13 | non-disk device. This may be an initramfs (see Documentation/filesystems/ |
| 13 | this directory for further information) or a filesystem mounted | 14 | ramfs-rootfs-initramfs.txt), a ramdisk (see Documenation/initrd.txt) or a |
| 14 | via NFS. The following text describes on how to use NFS for the | 15 | filesystem mounted via NFS. The following text describes on how to use NFS |
| 15 | root filesystem. For the rest of this text 'client' means the | 16 | for the root filesystem. For the rest of this text 'client' means the |
| 16 | diskless system, and 'server' means the NFS server. | 17 | diskless system, and 'server' means the NFS server. |
| 17 | 18 | ||
| 18 | 19 | ||
| @@ -21,11 +22,13 @@ diskless system, and 'server' means the NFS server. | |||
| 21 | 1.) Enabling nfsroot capabilities | 22 | 1.) Enabling nfsroot capabilities |
| 22 | ----------------------------- | 23 | ----------------------------- |
| 23 | 24 | ||
| 24 | In order to use nfsroot you have to select support for NFS during | 25 | In order to use nfsroot, NFS client support needs to be selected as |
| 25 | kernel configuration. Note that NFS cannot be loaded as a module | 26 | built-in during configuration. Once this has been selected, the nfsroot |
| 26 | in this case. The configuration script will then ask you whether | 27 | option will become available, which should also be selected. |
| 27 | you want to use nfsroot, and if yes what kind of auto configuration | 28 | |
| 28 | system you want to use. Selecting both BOOTP and RARP is safe. | 29 | In the networking options, kernel level autoconfiguration can be selected, |
| 30 | along with the types of autoconfiguration to support. Selecting all of | ||
| 31 | DHCP, BOOTP and RARP is safe. | ||
| 29 | 32 | ||
| 30 | 33 | ||
| 31 | 34 | ||
| @@ -33,11 +36,10 @@ system you want to use. Selecting both BOOTP and RARP is safe. | |||
| 33 | 2.) Kernel command line | 36 | 2.) Kernel command line |
| 34 | ------------------- | 37 | ------------------- |
| 35 | 38 | ||
| 36 | When the kernel has been loaded by a boot loader (either by loadlin, | 39 | When the kernel has been loaded by a boot loader (see below) it needs to be |
| 37 | LILO or a network boot program) it has to be told what root fs device | 40 | told what root fs device to use. And in the case of nfsroot, where to find |
| 38 | to use, and where to find the server and the name of the directory | 41 | both the server and the name of the directory on the server to mount as root. |
| 39 | on the server to mount as root. This can be established by a couple | 42 | This can be established using the following kernel command line parameters: |
| 40 | of kernel command line parameters: | ||
| 41 | 43 | ||
| 42 | 44 | ||
| 43 | root=/dev/nfs | 45 | root=/dev/nfs |
| @@ -49,23 +51,21 @@ root=/dev/nfs | |||
| 49 | 51 | ||
| 50 | nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>] | 52 | nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>] |
| 51 | 53 | ||
| 52 | If the `nfsroot' parameter is NOT given on the command line, the default | 54 | If the `nfsroot' parameter is NOT given on the command line, |
| 53 | "/tftpboot/%s" will be used. | 55 | the default "/tftpboot/%s" will be used. |
| 54 | 56 | ||
| 55 | <server-ip> Specifies the IP address of the NFS server. If this field | 57 | <server-ip> Specifies the IP address of the NFS server. |
| 56 | is not given, the default address as determined by the | 58 | The default address is determined by the `ip' parameter |
| 57 | `ip' variable (see below) is used. One use of this | 59 | (see below). This parameter allows the use of different |
| 58 | parameter is for example to allow using different servers | 60 | servers for IP autoconfiguration and NFS. |
| 59 | for RARP and NFS. Usually you can leave this blank. | ||
| 60 | 61 | ||
| 61 | <root-dir> Name of the directory on the server to mount as root. If | 62 | <root-dir> Name of the directory on the server to mount as root. |
| 62 | there is a "%s" token in the string, the token will be | 63 | If there is a "%s" token in the string, it will be |
| 63 | replaced by the ASCII-representation of the client's IP | 64 | replaced by the ASCII-representation of the client's |
| 64 | address. | 65 | IP address. |
| 65 | 66 | ||
| 66 | <nfs-options> Standard NFS options. All options are separated by commas. | 67 | <nfs-options> Standard NFS options. All options are separated by commas. |
| 67 | If the options field is not given, the following defaults | 68 | The following defaults are used: |
| 68 | will be used: | ||
| 69 | port = as given by server portmap daemon | 69 | port = as given by server portmap daemon |
| 70 | rsize = 1024 | 70 | rsize = 1024 |
| 71 | wsize = 1024 | 71 | wsize = 1024 |
| @@ -81,129 +81,174 @@ nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>] | |||
| 81 | ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf> | 81 | ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf> |
| 82 | 82 | ||
| 83 | This parameter tells the kernel how to configure IP addresses of devices | 83 | This parameter tells the kernel how to configure IP addresses of devices |
| 84 | and also how to set up the IP routing table. It was originally called `nfsaddrs', | 84 | and also how to set up the IP routing table. It was originally called |
| 85 | but now the boot-time IP configuration works independently of NFS, so it | 85 | `nfsaddrs', but now the boot-time IP configuration works independently of |
| 86 | was renamed to `ip' and the old name remained as an alias for compatibility | 86 | NFS, so it was renamed to `ip' and the old name remained as an alias for |
| 87 | reasons. | 87 | compatibility reasons. |
| 88 | 88 | ||
| 89 | If this parameter is missing from the kernel command line, all fields are | 89 | If this parameter is missing from the kernel command line, all fields are |
| 90 | assumed to be empty, and the defaults mentioned below apply. In general | 90 | assumed to be empty, and the defaults mentioned below apply. In general |
| 91 | this means that the kernel tries to configure everything using both | 91 | this means that the kernel tries to configure everything using |
| 92 | RARP and BOOTP (depending on what has been enabled during kernel confi- | 92 | autoconfiguration. |
| 93 | guration, and if both what protocol answer got in first). | 93 | |
| 94 | The <autoconf> parameter can appear alone as the value to the `ip' | ||
| 95 | parameter (without all the ':' characters before) in which case auto- | ||
| 96 | configuration is used. | ||
| 97 | |||
| 98 | <client-ip> IP address of the client. | ||
| 94 | 99 | ||
| 95 | <client-ip> IP address of the client. If empty, the address will either | 100 | Default: Determined using autoconfiguration. |
| 96 | be determined by RARP or BOOTP. What protocol is used de- | ||
| 97 | pends on what has been enabled during kernel configuration | ||
| 98 | and on the <autoconf> parameter. If this parameter is not | ||
| 99 | empty, neither RARP nor BOOTP will be used. | ||
| 100 | 101 | ||
| 101 | <server-ip> IP address of the NFS server. If RARP is used to determine | 102 | <server-ip> IP address of the NFS server. If RARP is used to determine |
| 102 | the client address and this parameter is NOT empty only | 103 | the client address and this parameter is NOT empty only |
| 103 | replies from the specified server are accepted. To use | 104 | replies from the specified server are accepted. |
| 104 | different RARP and NFS server, specify your RARP server | 105 | |
| 105 | here (or leave it blank), and specify your NFS server in | 106 | Only required for for NFS root. That is autoconfiguration |
| 106 | the `nfsroot' parameter (see above). If this entry is blank | 107 | will not be triggered if it is missing and NFS root is not |
| 107 | the address of the server is used which answered the RARP | 108 | in operation. |
| 108 | or BOOTP request. | 109 | |
| 109 | 110 | Default: Determined using autoconfiguration. | |
| 110 | <gw-ip> IP address of a gateway if the server is on a different | 111 | The address of the autoconfiguration server is used. |
| 111 | subnet. If this entry is empty no gateway is used and the | 112 | |
| 112 | server is assumed to be on the local network, unless a | 113 | <gw-ip> IP address of a gateway if the server is on a different subnet. |
| 113 | value has been received by BOOTP. | 114 | |
| 114 | 115 | Default: Determined using autoconfiguration. | |
| 115 | <netmask> Netmask for local network interface. If this is empty, | 116 | |
| 117 | <netmask> Netmask for local network interface. If unspecified | ||
| 116 | the netmask is derived from the client IP address assuming | 118 | the netmask is derived from the client IP address assuming |
| 117 | classful addressing, unless overridden in BOOTP reply. | 119 | classful addressing. |
| 118 | 120 | ||
| 119 | <hostname> Name of the client. If empty, the client IP address is | 121 | Default: Determined using autoconfiguration. |
| 120 | used in ASCII notation, or the value received by BOOTP. | ||
| 121 | 122 | ||
| 122 | <device> Name of network device to use. If this is empty, all | 123 | <hostname> Name of the client. May be supplied by autoconfiguration, |
| 123 | devices are used for RARP and BOOTP requests, and the | 124 | but its absence will not trigger autoconfiguration. |
| 124 | first one we receive a reply on is configured. If you have | ||
| 125 | only one device, you can safely leave this blank. | ||
| 126 | 125 | ||
| 127 | <autoconf> Method to use for autoconfiguration. If this is either | 126 | Default: Client IP address is used in ASCII notation. |
| 128 | 'rarp' or 'bootp', the specified protocol is used. | ||
| 129 | If the value is 'both' or empty, both protocols are used | ||
| 130 | so far as they have been enabled during kernel configura- | ||
| 131 | tion. 'off' means no autoconfiguration. | ||
| 132 | 127 | ||
| 133 | The <autoconf> parameter can appear alone as the value to the `ip' | 128 | <device> Name of network device to use. |
| 134 | parameter (without all the ':' characters before) in which case auto- | 129 | |
| 135 | configuration is used. | 130 | Default: If the host only has one device, it is used. |
| 131 | Otherwise the device is determined using | ||
| 132 | autoconfiguration. This is done by sending | ||
| 133 | autoconfiguration requests out of all devices, | ||
| 134 | and using the device that received the first reply. | ||
| 136 | 135 | ||
| 136 | <autoconf> Method to use for autoconfiguration. In the case of options | ||
| 137 | which specify multiple autoconfiguration protocols, | ||
| 138 | requests are sent using all protocols, and the first one | ||
| 139 | to reply is used. | ||
| 137 | |||
