=head1 NAME bootconf - simple configuration of PXE boot + kickstart environments =head1 SYNOPSIS bootconf command [subcommand] [--arg1=] [--arg2=] =head1 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 and more flexible. bootconf requires root access. =head1 INSTRUCTIONS B First install dhcpd, tftpd, and syslinux. You'll also need FTP, HTTP, or NFS to serve kickstarts (if you want kickstarts).Finally, you'll also have to edit dhcpd.conf for your particular DHCP environment. yum install dhcp tftp-server syslinux ... vi /etc/dhcpd.conf B This verifies that everything you need to set up is properly set up. This will mention any missing services and obvious configuration errors. Correct any problems reported, then run check until there are none. Of particular note: The kernel_opts field in /etc/bootconf.conf is the default kernel options list for all netbooting systems. It can be overriden by distro, group, or system specific settings, though the defaults are probably good enough for most administrators. B 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_rocks', it's your name. Kernel options are inherited from the kernel_opts parameter in /etc/bootconf.conf, though you can override some or all of them. B Defines a provisioning group, which is a distro (you did define a distro, right?) and optionally a kickstart. Kickstarts are served up by URLs, so these need to be HTTP, NFS, or FTP URLs that point to a kickstart file. If you don't want a kickstart, leave that parameter out. Kernel options are inherited from the distro, but you can optionally override some or all of them. B Defines a system, which is a representation of any netbootable system. A system can't have a free form name, it has to be a hostname that resolves to an IP, a MAC address, or an actual IP. Partial IP's (as in whole subnets) may be supported later. The group parameter is the group name you used with "group add", that is, what group the system belongs to. Kernel options are inherited from the group, and you probably don't want to override them, but you can override some or all of them. B Gives a list of distributions that are currently configured. B Gives a list of all of the groups in a system that are currently configured. B Gives a list of the sytems that are currently configured. B 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. B 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. B Deletes a system from the stored configuration. You can always delete a system. B 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. Usage of the dryrun option will show you the pending changes without actually making them. =head1 EXAMPLE B B B B B B B B B B B B =head1 CONFIGURATION_FILES bootconf uses /etc/bootconf.conf to store basic settings and /var/bootconf/bootconf.conf for it's internal state. After editing /etc/bootconf.conf, run 'bootconf check' againt o ensure that no errors were introduced. If you happen to screw up /var/bootconf/bootconf.conf or /etc/bootconf.conf, you can delete them and they will be recreated. =head1 BUGS It's a new product, there could be one. Somewhere. =head1 EXIT_STATUS bootconf returns a zero for success and non-zero for failure. =head1 AUTHOR Michael DeHaan