Differences

This shows you the differences between two versions of the page.

Link to this comparison view

filename_specification [2006/06/14 06:16] (current)
stockholm created, copied and partially rewritten from the old wiki
Line 1: Line 1:
 +====== Filename specification ======
 +
 +Depending of its version, Etherboot supports several file transfer protocols.
 +
 +By default, etherboot will download by ''​tftp'',​ but this can be altered by
 +  * specifying a full URI, including the protocol prefix
 +  * change default to NFS at compile time: There is an appropriate option available.
 +
 +===== TFTP =====
 +
 +TFTP stands for ''​Trivial File Transfer Protocol''​ and has been the standard file transfer protocol for etherboot from the beginning. It is also used by proprietary PXE implementations,​ and often for firmware updating and similar tasks on network appliances.
 +
 +On the server side, there are lots of tftp daemons that could be used. Good experience has been reported with the ''​tftpd-hpa''​ daemon for Linux. There are users having a Windows-based server that runs the complimentary tftp daemon, which seems to also work fine. In theory, every TFTP server respecting standards should work, anyway.
 +
 +If you want to use TFTP, that is already enabled in the standard configuration. You can specify the filename like <​code>​filename "/​image.nbi";</​code>​.
 +
 +Most TFTP servers will prepend a so-called "tftp root dir" to this path, so this might refer to the file ''/​tftpboot/​image.nbi''​ on a Linux host, or e.g. ''​C:​\windows\tftproot\image.nbi''​ on a windows machine.
 +
 +Alternatively,​ you can use the full syntax like 
 +<​code>​tftp://​192.168.0.201/​filename.nbi</​code>​
 +
 +If you make use of the optional [[dnsresolver|DNS resolver support]] in Etherboot, you may even specify a server name instead of the IP address.
 +
 +//Beware:// If you want to use the ''​next-server''​ as the DHCP information contains, you must either use the short form (without ''​tftp://''​ prefix), or use three slashes in a row, to mark the fact that no ip address is specified (like ''​tftp:///​filename.nbi''​).
 +
 +===== NFS =====
 +
 +NFS is a traditional Unix Network file system protocol. It must be specifically compiled in (which is not the case in default config).
 +
 +With another option, you can make it the default protocol. //Only in this case,//
 +<​code>​filename "/​image.nbi";</​code>​
 +will refer to NFS downloads. If you do not activate the NFS-as-default option, you will have to use a full URI, like
 +<​code>​filename "​nfs://​192.168.0.201/​path/​filename.nbi"</​code>​
 +
 +On the server side please //export// the appropriate directory so that the boot clients can access the files. Read-only access is sufficient, of course. If in our example the bootfile resides in the directory ''/​tftpboot/​files/'',​ the following line in ''/​etc/​exports''​ could do:
 +<​file>/​tftpboot/​files 192.168.0.0/​24(ro)</​file>​
 +FIXME NFS accesses occur as "​root"​ user (thus, on most systems, automatically remapped to "​nobody"​-user). Make sure that permissions allow access to the boot files for this user.
 +
 +===== HTTP =====
 +
 +HTTP, the hypertext transfer protocol, has been supported by Etherboot for a rather short while. Because of a quite minimalistic TCP implementation performance is not as impressive - which will probably change with the switch to uIP stack.
 +
 +<​file>​
 +filename "​http://​192.168.0.201:​80/​path/​filename.nbi";​
 +</​file>​
 +
 +gives a complete filename specification. The '':​80''​ part may be omitted, defaulting to the HTTP standard port 80. In combination with the [[dnsresolver|DNS resolver option]], you can even use host names. In theory you could boot a machine over the internet, there is no strictly technical reason why booting from ''​http://​www.ltsp.org/​downloads/​v4.2/​kernel-2.6.14-1.nbi''​ (or similar) should not work. Of course the network bandwith in a local area network tends to be better :-)
 +
 +===== Multicast protocols =====
 +
 +Please see also [[multicast|the Multicast information page]]
 +
 +==== TFTM ====
 +
 +A full URI must always be specified:
 +<​file>​
 +filename "​x-tftm://​192.168.0.201//​lts/​vmlinuz.ltsp";​
 +</​file>​
 +
 +Note the double slash behind the IP address. In case you specify a single slash, the filename really requested from the server will NOT begin with a slash. This fact depends on the usage of / as path separator and the fact that TFTM implementations might give requested files without path a special meaning. To go sure, just use the double slash.
 +
 +By the way, the ''​x-''​ prefix has been selected because there has not been an official protocol acronym delegation like ''​nfs'',​ ''​http''​ and the like: ''​x-''​ means experimental.
 +
 +==== SLAM ====
 +
 +Also for SLAM, a full URI must be used. See the [[multicast]] page for details.
 +<​file>​
 +filename "​x-slam://​192.168.0.201:​10000/​239.255.1.1:​10000";​
 +</​file>​
  

QR Code
QR Code filename_specification (generated for current page)