1PXE-KEXEC(1) PXE-Kexec PXE-KEXEC(1)
2
3
4
6 pxe-kexec - Read PXE configuration file and kexec entries
7
9 pxe-kexec [options] [tftp_server]
10
12 Overview
13 pxe-kexec is a tool that fetches PXE configuration from a TFTP server,
14 reads that PXE configuration file, prompts the user for an boot entry,
15 downloads the specified kernel and initrd and finally tries to boot the
16 kernel.
17
18 The normal process to boot with kexec(8) is that pxe-kexec loads the
19 kernel and invokes reboot(8). The shutdown script of the Linux
20 distribution then executes "kexec -e" at the very end. That is not
21 implemented everywhere. Therefore, pxe-kexec has a whitelist of Linux
22 distributions that support reboot with kexec. If the distribution is
23 not on that whitelist, the program quits with a warning. To bypass that
24 warning, please use the "--igore-whitelist" parameter. You can also use
25 the "--force" parameter to execute "kexec -e" to immediately boot the
26 selected kernel, without invoking shutdown(8)/reboot(8).
27
28 pxe-kexec meant to be used in an environment where pre-defined PXE
29 configurations exist but the user wants to use kexec(8) instead of
30 rebooting.
31
32 Normally, the tftp_server must be specified as first argument. If
33 there's no TFTP server specified, pxe-kexec looks in the DHCP info file
34 for the DHCP server and uses this one as TFTP server. This only works
35 when the TFTP server is running on the same machine as the DHCP server.
36
37 ==> Please also read the section called "Update Info" <==
38
39 Whitelist
40 As mentioned previously, a whitelist of Linux distributions that
41 support kexec-based rebooting is maintained. Currently following
42 distributions are on the whitelist:
43
44 · openSUSE, starting with version 11.0
45
46 · Ubuntu, starting with version 9.04
47
48 · Red Hat Enterprise Linux and CentOS, starting with version 5.3
49
50 · Fedora Linux, starting with version 11
51
52 · ARCH Linux
53
54 Don't hesitate to send the author an email to add the distribution to
55 the whitelist. Please include the output of "pxe-kexec
56 --print-distribution" in that mail.
57
59 Following options can be specified:
60
61 -h | --help
62 Prints a short help.
63
64 -v | --version
65 Prints the version number to standard output.
66
67 -f | --force
68 Immediately load the kernel without invoking reboot(8). This
69 does not execute shutdown scripts, i.e. does not terminate
70 daemons, network connections etc.
71
72 -L | --load-only
73 When that option is specified, the new kernel is only loaded. No
74 reboot is triggered and "kexec -e" is also not executed.
75
76 -w | --ignore-whitelist
77 Don't check if the detected Linux distribution is on the
78 whitelist of distributions that have kexec(8) in their shutdown
79 script. Please don't use that parameter without letting the
80 author know which distribution you use and how to detect that
81 distribution. Then the distribution can be added to the
82 whitelist and other users profit from that experience.
83
84 -l label | --label label
85 Specifies the label that should be booted. Use that option if
86 you already know which label you want to boot. This option
87 implies "--quiet".
88
89 -i | --interface netif
90 Uses netif instead of the first (non-loopback and up) interface
91 that is found. Example: "eth5".
92
93 -n | --noconfirm
94 Don't ask the user for confirmation before booting an entry. Use
95 that option with care!
96
97 -Y | --dry-run
98 Don't execute call to kexec and don't switch the virtual console
99 before running "kexec -e". Instead, print the information which
100 program would be executed with which arguments to standard
101 error.
102
103 -q | --quiet
104 Don't display the PXE messages that are added in the PXE
105 configuration with the say keyword. Also don't display messages
106 which PXE configuration files the downloader tries to fetch.
107
108 -p | --print-distribution
109 Only prints the detected Linux distribution and exits. For
110 example:
111
112 Type : Ubuntu
113 Name : Ubuntu
114 Release : 9.04
115 Codename : jaunty
116 Description : Ubuntu 9.04
117
118 This option is very useful if your distribution is not on the
119 whitelist of Linux distributions that support kexec(8) in the
120 reboot scripts and you want to create a bugreport.
121
122 This command does not require root privileges.
123
124 -D | --debug
125 Enable debugging output. That's good for finding (and fixing!)
126 bugs.
127
128 -d | --nodelete
129 Keep downloaded files.
130
131 -F | --ftp
132 Always use FTP instead of TFTP. Useful for servers that share
133 TFTP root and FTP root. (Passive) FTP has the advantage that it
134 passes firewalls better than TFTP.
135
137 Updating from 0.1.x to 0.2
138 Compared to version 0.1.x, the syntax has changed:
139
140 · The default label must now be set with the -l label option
141 instead of the 2nd argument. Example:
142
143 % pxe-kexec mydhcp.mydomain.com SLES10-install-auto
144
145 is now
146
147 % pxe-kexec -l SLES10-install-auto mydhcp.mydomain.com
148
149 · pxe-kexec now uses the reboot mechanism by default: The kernel
150 is loaded, then the reboot is triggered and the reboot script of
151 the Linux distribution finally boots the kernel. This has the
152 advantage of a clear shutdown.
153
154 The program keeps a database of Linux distributions that support
155 kexec-based reboot. If the currently active distribution is not
156 on the whitelist, an error is printed. (That whitelist can be
157 ignored with "--ignore-whitelist".)
158
159 · To use the previous behaviour, i.e. just execute "kexec -e" in
160 pxe-kexec at the end, you can still use the "--force" parameter.
161 Example:
162
163 % pxe-kexec mydhcp.mydomain.com
164
165 is now
166
167 % pxe-kexec --force mydhcp.mydomain.com
168
169 · If you want to have the old "dry-run" behaviour back, which in
170 fact only missed the last "kexec -e" step, you can use the
171 option "--load-only". Example:
172
173 % pxe-kexec --dry-run mydhcp.mydomain.com
174
175 is now
176
177 % pxe-kexec --load-only mydhcp.mydomain.com
178
180 pxe-kexec mydhcp.mydomain.com
181 Try to fetch the PXE configuration from mydhcp.mydomain.com,
182 display the say messages from that configuration, prompt for an
183 entry, letting the user confirm that entry and finally load that
184 entry via kexec(8) and reboot via reboot(8).
185
186 This only works if you distribution supports kexec-based
187 rebooting, i.e. it is in the internal whitelist.
188
189 pxe-kexec -n mydhcp.mydomain.com
190 Same as the previous example, but omit the final confirmation
191 step.
192
193 pxe-kexec -l SLES10-install-auto mydhcp.mydomain.com
194 Same as the first example, but don't prompt the user for the
195 label to boot. Directly boot the SLES10-install-auto label, but
196 letting the user confirm that he really wants to boot this!
197
198 pxe-kexec -n -l SLES10-install-auto mydhcp.mydomain.com
199 Same as the previous example, but without confirmation.
200
201 pxe-kexec -f mydhcp.mydomain.com
202 Same as the first example, but execute "kexec -e" at the end
203 instead of invoking reboot(8).
204
205 pxe-kexec -l mydhcp.mydomain.com
206 Same as the first example, but don't trigger a reboot. Instead,
207 the kernel is just loaded. If your distribution supports kexec-
208 based rebooting, the kernel will be loaded on next reboot. You
209 can also run "kexec -e" manually at any time.
210
212 The pxe-kexec program and documentation has been written by Bernhard
213 Walle <bernhard@bwalle.de>.
214
216 This program has no bugs. If you find a feature that should be removed,
217 please report to <bernhard@bwalle.de> if you don't want to create an
218 account.
219
221 kexec(8)
222
223
224
2250.2.3 2009-10-10 PXE-KEXEC(1)