Imported Upstream version 3.4
[debian/elilo] / docs / elilovars.txt
1 Information related to variable support in ELILO
2 ------------------------------------------------
3 (c) 2002-2003 Hewlett Packard Co
4     Contributed by Stephane Eranian <eranian@hpl.hp.com>
5
6     Last updated: 06/13/2002
7
8 As of version 3.2, elilo has internal variables which can be programmed
9 by any module inside the bootloader code. These variables are used
10 to parametrize some of the arguments passed on the kernel command line.
11
12 The value of a variable is a Unicode string. Variables names are composed
13 of a single Unicode character, such as 'I' for instance. Variable names
14 are case sensitive. Elilo has support for 52 variables: A-Z and a-z. 
15
16 The '%' sign is used to name a variable. For instance, '%I' indicates 
17 variable 'I'. If '%I'  is present on the command line to the kernel, 
18 it will be replaced (string replacement) with the value (a string) of 'I'. 
19 By default, the Elilo core does not assign any values to any variables. 
20 It is up to each module to do so. When a variable is not used, its content 
21 is the empty string "", which means that the '%d' notation, for instance, will 
22 be replaced with the empty string.
23
24 Let us look at an example:
25   Supposing that the following variables are defined:
26         'I'     -> "192.168.2.5"
27         'G'     -> "192.168.2.1"
28         'M'     -> "255.255.255.0"
29         'z'     -> ""
30
31   Then a command line of this form (provided as an append= option in elilo.conf):
32
33         root=/dev/nfs nfsroot=15.4.88.178:/mnt2 ip=%I:%z:%G:%N:jung:eth0:on
34
35   Would pass the following to the kernel:
36
37         root=/dev/nfs nfsroot=15.4.88.178:/mnt2 ip=192.168.2.5::192.168.2.1:255.255.255.0:jung:eth0:on
38
39 Of course, the meaning of each variable is up to each individual module, the
40 names used here are not necessarily representative of the actual names used
41 by elilo.
42
43 Some choosers, (such as simple) have support to print the list of
44 defined variables. For instance, in simple (the default chooser) you
45 can press '%' to see the list of defined variables.
46
47 Variables can be useful when netbooting, for instance, to get the 
48 dynamically assigned IP, netmask, and gateway addresses.
49
50 In case the % character needs to be passed to the kernel, it is possible
51 to "despecialize" a character using the & symbol in front of it.
52
53 See netbooting.txt for more information on this.