Build a New Kickstart Server

This document will be for creating a new kickstart machine.

TFTP Server

yum install tftp-server

TFTP server configuration is located in /etc/xinetd.d/tftp

service tftp
{
        disable = no
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /tftpboot/linux-install
        run_daemon              = yes
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

https://forums.freebsd.org/viewtopic.php?&t=29327 Set the tftp service to start when the system is booted.

chkconfig --level 345 xinetd on
chkconfig --level 345 tftp on

BlueCat RAW PXE Options

The following options have been added to BlueCat Address Manager to enable PXE boot on VLAN 67 for all supported architectures.

class "pxeclients" {
        match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
        next-server 141.210.7.137;
        if option architecture-type = 00:09 {
                filename "uefi/BOOTX64.EFI";
        } elsif option architecture-type = 00:08 {
                filename "OU-UNSUPPORTED-ARCH.8";
        } elsif option architecture-type = 00:07 {
                filename "uefi/BOOTX64.EFI";
        } elsif option architecture-type = 00:06 {
                filename "uefi/BOOTIA32.EFI";
        } elsif option architecture-type = 00:05 {
                filename "OU-UNSUPPORTED-ARCH.5";
        } elsif option architecture-type = 00:04 {
                filename "OU-UNSUPPORTED-ARCH.4";
        } elsif option architecture-type = 00:03 {
                filename "OU-UNSUPPORTED-ARCH.3";
        } elsif option architecture-type = 00:02 {
                filename "OU-UNSUPPORTED-ARCH.2";
        } elsif option architecture-type = 00:01 {
                filename "OU-UNSUPPORTED-ARCH.1";
        } elsif option architecture-type = 00:00 {
                next-server 141.210.8.96;
                filename "boot\\x86\\ipxe.0";
        } else {
                filename "OU-UNSUPPORTED-ARCH.UNKNOWN";
        }
}

Update Kickstart ISO

There's a few things that need to be done everytime you upgrade a given ISO for kickstart:

  • Unmount existing ISO

Figure out which folder has the loopback image of the ISO you need to update (use 'mount' to find it), and unmount it.

sudo umount /srv/kickstart/example_folder
  • Remove existing ISO

sudo rm /srv/kickstart/Example_OS_x86_64-bin-DVD1.iso

https://forums.freebsd.org/viewtopic.php?&t=29327

  • Upload new ISO

Before you do this, make sure you verify the image of the iso with md5sum or sha1sum. (and by the way, if the hash doesn't match the hash found online DONT USE IT)

#This is on your own computer:
sha1sum Example_OS_x86_64-bin-DVD1.iso
scp ./Example_OS_x86_64-bin-DVD1.iso [email protected]:~/
  • Mount the new ISO

cp ~/Example_OS_x86_64-bin-DVD1.iso /srv/kickstart/isos
mount -o ro,loop -t iso9660 /srv/kickstart/isos/Example_OS_x86_64-bin-DVD1.iso /srv/kickstart/example_folder
  • Update the initrd/vmlinuz

#These files might be located somewhere completely different for non-RHEL. Generally, you want a folder called pxeboot; initrd.img can be renamed to initramfs or initrd.gz. (I.e /ubuntu/install/initrd.gz and vmlinuz)
cp /srv/kickstart/example_folder/.../vmlinuz /tftpboot/linux-install/distros/example_folder/
cp /srv/kickstart/example_folder/..../initrd.img /tftpboot/linux-install/distros/example_folder/
  • Update /etc/fstab

A sample entry in the /etc/fstab would be:

/srv/kickstart/isos/Outdated_Example_OS_x86_64-bin-DVD1.iso /srv/kickstart/example_folder iso9660 loop,ro 0 0

So just replace that with your new mount settings:

/srv/kickstart/isos/Example_OS_x86_64-bin-DVD1.iso /srv/kickstart/example_folder iso9660 loop,ro 0 0

FreeBSD

As of FreeBSD 9.0, PXE boot via TFTP is no longer supported, more info found here. If you really had your heart set on PXE booting FreeBSD though, you'd need to do two things:

  • Update the pxelinux.0 to that found in syslinux 6.2. This is so that the PXE option for pxelinux.cfg/default is actually supported.
  • Set up the FreeBSD to be downloaded via NFS.


TSSHowTo