User:Pjones/netbooting

= network booting =

This describes how to set up a server for network booting of both UEFI and BIOS clients.

packages
On the server, you'll need several packages:


 * 1) dhcpd
 * 2) tftp-server
 * 3) grub-efi
 * 4) syslinux

setup
option space PXE; option PXE.mtftp-ip   code 1 = ip-address; option PXE.mtftp-cport code 2 = unsigned integer 16; option PXE.mtftp-sport code 3 = unsigned integer 16; option PXE.mtftp-tmout code 4 = unsigned integer 8; option PXE.mtftp-delay code 5 = unsigned integer 8; option arch code 93 = unsigned integer 16;
 * 1) Make sure tftp is enabled in /etc/xinetd.d/tftp
 * 2) Copy necessary files:
 * 3) Configure your dhcpd server to use the EFI boot images packaged with grub, and configure a test system to boot using the EFI boot image.  A sample configuration in   might look like:
 * 1) Configure your dhcpd server to use the EFI boot images packaged with grub, and configure a test system to boot using the EFI boot image.  A sample configuration in   might look like:
 * 1) Configure your dhcpd server to use the EFI boot images packaged with grub, and configure a test system to boot using the EFI boot image.  A sample configuration in   might look like:
 * 1) Configure your dhcpd server to use the EFI boot images packaged with grub, and configure a test system to boot using the EFI boot image.  A sample configuration in   might look like:

option space pxelinux; option pxelinux.magic code 208 = string; option pxelinux.configfile code 209 = text; option pxelinux.pathprefix code 210 = text; option pxelinux.reboottime code 211 = unsigned integer 32;

subnet 10.0.0.0 netmask 255.255.255.0 { option routers 10.0.0.254; range 10.0.0.2 10.0.0.253;

class "pxeclients" { match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; next-server 10.0.0.1; if option arch = 00:07 { filename "efi/bootx64.efi"; } else { filename "pxelinux/pxelinux.0"; }         }

host example-ia32 { hardware ethernet XX:YY:ZZ:11:22:33; fixed-address 10.0.0.2; } } default=0 timeout=1 splashimage=(nd)/splash.xpm.gz hiddenmenu title Fedora root (nd) kernel /rawhide-x86_64/vmlinuz initrd /rawhide-x86_64/initrd.img default vesamenu.c32 IPAPPEND 2 timeout 100
 * 1) Add a grub config file to   and a syslinux config file to.
 * 2) * A sample grub config file at  might look like:
 * 1) * A sample syslinux config file at  might look like:

label Fedora &#9;MENU rawhide x86_64 &#9;kernel /rawhide-x86_64/vmlinuz &#9;append initrd=/rawhide-x86_64/initrd.img


 * 1) Copy the splash and boot images into your tftp directory: