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