summaryrefslogtreecommitdiffstats
path: root/bootconf.man
blob: 7073b6298903ea60aa710242232c760232d2a921 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  | will give a
.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
.\" expand to `' in nroff, nothing in troff, for use with C<>.
.tr \(*W-|\(bv\*(Tr
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
'br\}
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.if \nF \{\
.    de IX
.    tm Index:\\$1\t\\n%\t"\\$2"
..
.    nr % 0
.    rr F
.\}
.\"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.hy 0
.if n .na
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "BOOTCONF 1"
.TH BOOTCONF 1 "2006-04-05" "perl v5.8.8" "User Contributed Perl Documentation"
bootconf \- simple configuration of \s-1PXE\s0 boot + kickstart environments
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
bootconf command [subcommand] [\-\-arg1=] [\-\-arg2=]
See '\s-1INSTRUCTIONS\s0'.
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Configuration of a boot server involves a lot of things.  Perhaps too many.  These items include a tftpd server, a dhcpd server, syslinux, and a lot of copying files around and creating other config files.  Bootconf makes these things simpler.
.PP
bootconf requires root access.
.SH "INSTRUCTIONS"
.IX Header "INSTRUCTIONS"
\&\fBbefore you start...\fR
.PP
First install dhcpd, tftpd, and syslinux.
You'll also need \s-1FTP\s0, \s-1HTTP\s0, or \s-1NFS\s0 to serve kickstarts (if you want them)
And you'll also have to edit dhcpd.conf for your particular \s-1DHCP\s0 environment.
Yes, \s-1DHCP\s0 is a required piece.
.PP
.Vb 3
\&   yum install dhcp tftp-server syslinux
\&   ...
\&   vi /etc/dhcpd.conf
.Ve
.PP
\&\fBbootconf check\fR
.PP
This verifies that everything you need to set up is set up.
This will mention any missing services and obvious configuration errors.
Errors?  Correct any problems reported, then run check until there are none.
.PP
\&\fBbootconf distro add \-\-name=distro_name \-\-kernel=path \-\-initrd=path\fR
.PP
Defines a distribution as a matched pair of a kernel and an initrd, and 
gives it a name.  This could be 'fc5\-i386' or 'foosball\-73', it's your name.
.PP
\&\fBbootconf group  add \-\-name=group_name \-\-kickstart=path \-\-distro=distro_name\fR
.PP
Defines a provisioning group, which is a distro (you did define a distro, right?) and a kickstart.  Kickstarts are served up by URLs, though this needs to be a file.  The distro parameter is whatever named you used earlier.
.PP
\&\fBbootconf system add \-\-name=ip|mac|hostname \-\-group=group_name\fR
.PP
Defines a system.  A system can't have a free form name, it has to be a hostname that resolves to an \s-1IP\s0, a \s-1MAC\s0 address, or an actual \s-1IP\s0.  The group parameter is the group name you used with \*(L"group add\*(R".
.PP
\&\fBbootconf distro list\fR
.PP
Gives a list of distributions that are currently configured.  If you specified any kernels or initrd's by directories instead of full paths, it will indicate which ones are currently picked.
.PP
\&\fBbootconf group list\fR
.PP
Gives a list of groups that are currently configured.  
.PP
\&\fBbootconf system list\fR
.PP
Gives a list of the sytems that are currently configured.
.PP
\&\fBbootconf distro remove \-\-name=distro_name\fR
.PP
Deletes a distro from the stored configuration.  You can't delete a distro if any groups reference that distro, you'd have to delete all of the systems using that distro first.   Deleting a distro just means that you no longer want it configured for booting, it does not delete any files.
.PP
\&\fBbootconf group remove \-\-name=group_name\fR
.PP
Deletes a group from the stored configuration.   You can't delete a group if any systems reference it.  Does not actually delete any kickstart files.
.PP
\&\fBbootconf system remove \-\-name=system_name\fR
.PP
Deletes a system from the stored configuration.  You can always delete a system.
.PP
\&\fBbootconf sync [\-\-dryrun]\fR
.PP
Applies the stored configuration to the system.  If you have any configuration errors, bootconf sync will ask you to run 'bootconf check' and fix them first.  
.PP
Usage of the dryrun option will show you the pending changes without actually making them.
.SH "CONFIGURATION_FILES"
.IX Header "CONFIGURATION_FILES"
bootconf uses /etc/bootconf.conf to store it's internal state.  You may want to manually edit the global options at the top of the file for some reason.  If you do so, run 'bootconf check' again to ensure there are no errors introduced from this.  In a worse case scenario, you can delete the file and the next run of bootconf will recreate it.
.SH "BUGS"
.IX Header "BUGS"
It's a new product, there could be one.  Somewhere.
.SH "EXIT_STATUS"
.IX Header "EXIT_STATUS"
bootconf returns a zero for success and non-zero for failure.
.SH "AUTHOR"
.IX Header "AUTHOR"
Michael DeHaan <mdehaan@redhat.com>