- Install iPXE boot loader. You can install it into the /pxeboot/ipxe folder.
- Set up DHCP and TFTP servers.
An example of dnsmasq configuration for DHCP and TFTP servers in the /etc/dnsmasq.conf file:
#port=0
#DNS on/off
log-dhcp
dhcp-range=192.168.85.0,192.168.85.150,255.255.255.0,12h
dhcp-option=option:router,192.168.85.1
#Set architecture tag for client request
dhcp-match=set:efi-x86_64,option:client-arch,7
dhcp-match=set:efi-x86_64,option:client-arch,9
dhcp-match=set:efi-x86,option:client-arch,6
dhcp-match=set:bios,option:client-arch,0
dhcp-userclass=set:ipxe,iPXE
#First loader
dhcp-boot=tag:efi-x86_64,"ipxe/ipxe64.efi"
dhcp-boot=tag:efi-x86,"ipxe/ipxe32.efi"
dhcp-boot=tag:bios,"ipxe/undionly.kpxe"
#Second loader
dhcp-boot=tag:ipxe,"nfs://192.168.85.135:/pxeboot/ipxe/ipxe.cfg"
enable-tftp
tftp-root=/pxeboot
- Set up iPXE.
An example of configuration for iPXE in the /pxeboot/ipxe/ipxe.cfg file:
#!ipxe
cpuid --ext 29 && set arch _64 || set arch
iseq ${platform} efi && iseq ${buildarch} x86_64 && set arch _64 ||
iseq ${platform} efi && iseq ${buildarch} i386 && set arch ||
set server 192.168.85.135 # or DNS name
set nfs_root /pxeboot
kernel nfs://${server}:${nfs_root}/krd/boot/grub/k-x86${arch}
initrd nfs://${server}:${nfs_root}/krd/boot/grub/initrd.xz
imgargs k-x86${arch} initrd=initrd.xz netboot=nfs://${server}:${nfs_root}/krd/ net.ifnames=0 lang=en dostartx
Kaspersky Rescue Disk will be loaded via iPXE.