orphan
[debian/elilo] / docs / simple_chooser.txt
1 Information about the simple chooser
2 --------------------------------------
3 Copyright (C) 2002-2003 Hewlett-Packard Co.
4 Contributed by Stephane Eranian <eranian@hpl.hp.com>
5
6 Last updated: 02/02/14
7
8 Chooser name: simple
9 Command line option: -C simple
10 Config file option: chooser=simple, description, message
11
12 The simple chooser is the default chooser. However it is possible
13 to disable it at compile time, it is highly recommended to keep it
14 in. Elilo must have at least one chooser compiled in.
15
16 The simple chooser is very basic as its name indicates! It provides
17 a simple one line text mode command prompt similar to what you get
18 with Lilo/x86.  
19
20 Any chooser becomes visible to the user ONLY when the interactive
21 mode is entered.
22
23 The simple chooser allows the user to select a kernel to boot.
24 The user can use a label as specified in the elilo config file 
25 or a kernel file name. File names can be specified with
26 absolute names in the form dev_name:/path/to/my_kernel.
27
28 1/ Activation
29
30    The chooser is activated from:
31
32         - command line  with the -c simple
33         - the config file with the chooser=simple option
34
35 2/ Supported options
36
37    The simple chooser supports the following options in the config file:
38
39         message=filename  : display a message before the prompt. The filename
40                             must be an ASCII file
41
42         description=string: a description of the kernel image (ASCII)
43
44    All other options have their standard meaning. The chooser does not recognize 
45    the fX (X varies from 1-12) options
46
47 2/ Builtin commands
48    
49 The simple chooser has some builtin command which the user can
50 get to by typing certain keys as the first character on the command line:
51
52     TAB:        shows the list of defined labels and their descriptions.
53
54                 If the user did not type anything, i.e., the line is empty,
55                 pressing TAB will print the list of labels defined in the
56                 elilo config file.
57
58                 If the user already typed a name and if the name corresponds
59                 to a specified label, the chooser will show how the label
60                 is expanded and what the final command line to the kernel will
61                 look like.
62
63                 If the line is empty pressing TAB generates something similar to:
64                 ELILO boot: 
65                 linux-up linux nfsroot   (or any kernel file name: [dev_name:]/path/file)
66
67                 Note that first label correspond to the default label used if the user
68                 hits the enter key with an empty line. This label is not necessarily
69                 the first one in the config file.
70
71                 Now pressing TAB with a full label name:
72
73                 ELILO boot: linux-up
74                 desc   : my default UP kernel
75                 cmdline: vmlinuz root=/dev/sdb2 console=ttyS0,115200n8 console=tty0 ro
76
77                 The desc line shows whatever was specified in the "description" option 
78                 for this particular image in the config  file.
79
80     =  :        shows the list of accessible devices
81
82                 this key force elilo to print the list of detected devices. Elilo will 
83                 auto-detect the devices which are accessible to load a config file, the kernel, the
84                 initrd from. Those devices typically represent disk partition, CDROM, floppy, or
85                 a network path. The list of devices is highly system dependent.
86                 It also depends on the filesystem support compiled into elilo.
87
88                 The way the devices are named depends on the device naming scheme
89                 selected. It also depends on whether the EDD30 support is activated.
90                 For instance, pressing the ? could look as follows:
91
92                 ELILO boot: 
93                 scsi0 :   vfat : Acpi(PNP0A03,2)/Pci(1|0)/Scsi(Pun0,Lun0)/HD(Part1,Sig72040800)
94                 scsi1 :   vfat : Acpi(PNP0A03,2)/Pci(1|0)/Scsi(Pun6,Lun0)/HD(Part1,Sig00000000)
95                 scsi2 : ext2fs : Acpi(PNP0A03,2)/Pci(1|0)/Scsi(Pun0,Lun0)/HD(Part2,Sig72040800)
96                 scsi3 : ext2fs : Acpi(PNP0A03,2)/Pci(1|0)/Scsi(Pun6,Lun0)/HD(Part2,Sig00000000)
97                 net0 :  netfs : Acpi(PNP0A03,0)/Pci(5|0)/Mac(00D0B7A6FC25)
98                 5 devices available for booting
99                 boot device net0: netfs
100
101                 Here the vfat (EFI partition type), ext2fs and network filesysten (not to be confused
102                 with NFS) were compiled into elilo and were detected on the machine. The left handside
103                 of the colon show the logical name associated with the device. For instance,
104                 scsi0 corresponds to the first partition of SCSI disk ID 0 and is an EFI partition.
105                 The net0 correspond to a network device, here the Ethernet adapter. The last line
106                 show the device used to load elilo itself, in the case elilo was downloaded from the
107                 network.
108
109                 To get a kernel from scsi0, the user can simply type:
110
111                         ELILO boot: scsi0:/usr/src/linux/vmlinux 
112
113                 Note that even though elilo was not downloaded from the network, it is still possible
114                 to get the kernel and initrd from a remote machine.
115
116     %  :        shows the list of defined variables
117
118                 Elilo has builtin variables which are used to dynamically customized the command line
119                 parameters passed to the kernel. The list of variables depends on the support compiled
120                 into elilo. Not all elilo subsystems use variables. Typically the network file system
121                 does. Pressing '%' only prints the variables that are defined with their current values.
122                 Some variables are only defined once the subsystem that creates them has been used.
123                 In other words, if the network filesystem was not used to load elilo, then the variables
124                 defined by it are not created.
125
126                 If the network was actually used, pressing '%' could generate the following output:
127                 ELILO boot:     
128                 D = "mydomain.com
129                 G = "192.168.3.1"
130                 H = "test_machine"
131                 I = "192.168.3.4"
132                 M = "255.255.255.0"
133
134     &  :        shows the list default path
135
136                 The path is used as a prefix for all filenames specified as
137                 relative.
138
139     ?  :        shows the list of supported command keys
140
141
142 The simple chooser has also some builtin command line editing commands:
143
144         ESC      : abort (leave elilo)
145
146         CTRL-D   : abort (leave elilo)
147
148         CTRL-C   : kill line
149                    empty current line and prompt for new input
150
151         CTRL-H   : erase the previous character
152
153         CTRL-U   : clear current line
154                    reset the buffer (does not display correctly if buffer spans more than one line)
155
156         Backspace: erase character