private bool CopyFilesForProxy()
{
var biosFile = Settings.ProxyBiosFile;
var efi32File = Settings.ProxyEfi32File;
var efi64File = Settings.ProxyEfi64File;
foreach (var file in _ipxeBiosFiles)
{
if (!CopyCommand("ipxe", "proxy", "ipxe", "bios", file, file)) return false;
if(biosFile == "ipxe" && file == "undionly.kpxe")
if (!CopyCommand("ipxe", "proxy", "ipxe", "bios", file, BootFile))return false;
}
foreach (var file in _ipxeEfiFiles)
{
if (!CopyCommand("ipxe", "proxy", "ipxe_efi_32", "efi32", file, file)) return false;
if ((efi32File == "ipxe_efi" && file == "ipxe.efi") ||
(efi32File == "ipxe_efi_snp" && file == "snp.efi")
|| (efi32File == "ipxe_efi_snponly" && file == "snponly.efi"))
if (!CopyCommand("ipxe", "proxy", "ipxe_efi_32", "efi32", file, BootFile)) return false;
}
foreach (var file in _ipxeEfiFiles)
{
if (!CopyCommand("ipxe", "proxy", "ipxe_efi_64", "efi64", file, file)) return false;
if ((efi64File == "ipxe_efi" && file == "ipxe.efi") ||
(efi64File == "ipxe_efi_snp" && file == "snp.efi")
|| (efi64File == "ipxe_efi_snponly" && file == "snponly.efi"))
if (!CopyCommand("ipxe", "proxy", "ipxe_efi_64", "efi64", file, BootFile)) return false;
}
foreach (var file in _syslinuxBiosFiles)
{
if (!CopyCommand("syslinux", "proxy", "pxelinux", "bios", file, file)) return false;
if(biosFile == "pxelinux" && file == "pxelinux.0")
if (!CopyCommand("syslinux", "proxy", "pxelinux", "bios", file, BootFile)) return false;
}
foreach (var file in _syslinuxEfi32Files)
{
if (!CopyCommand("syslinux", "proxy", "syslinux_efi_32", "efi32", file, file)) return false;
if (efi32File == "syslinux" && file == "syslinux.efi")
if (!CopyCommand("syslinux", "proxy", "syslinux_efi_32", "efi32", file, BootFile)) return false;
}
foreach (var file in _syslinuxEfi64Files)
{
if (!CopyCommand("syslinux", "proxy", "syslinux_efi_64", "efi64", file, file)) return false;
if (efi64File == "syslinux" && file == "syslinux.efi")
if (!CopyCommand("syslinux", "proxy", "syslinux_efi_64", "efi64", file, BootFile)) return false;
}
foreach (var file in _grubEfi64Files)
{
if (!CopyCommand("grub", "", "", "efi64", file, file)) return false;
if (!CopyCommand("grub", "", "", "", file, file)) return false;
if(efi64File == "grub" && file == "bootx64.efi")
if (!CopyCommand("grub", "", "", "efi64", file, BootFile)) return false;
}
if (
new Helpers.FileOps().FileExists(Settings.TftpPath + Path.DirectorySeparatorChar + "boot" +
Path.DirectorySeparatorChar + "boot.sdi"))
{
foreach (var file in _winPEEfiFiles)
{
if (!CopyCommand("winpe", "", "winpe_efi_64", "efi64", file, file)) return false;
if (!CopyCommand("winpe", "", "winpe_efi_32", "efi32", file, file)) return false;
if (efi64File == "winpe_efi")
{
if (!CopyCommand("winpe", "", "winpe_efi_64", "efi64", file, BootFile)) return false;
}
if (efi32File == "winpe_efi")
{
if (!CopyCommand("winpe", "", "winpe_efi_32", "efi32", file, BootFile)) return false;
}
}
foreach (var file in _winPEBiosFiles)
{
if (file == "bootmgr.exe")
{
if (!CopyCommand("winpe", "", "winpe", "", file, file)) return false;
}
if (!CopyCommand("winpe", "", "winpe", "bios", file, file)) return false;
if (biosFile == "winpe" && file == "pxeboot.n12")
{
if (!CopyCommand("winpe", "", "winpe", "bios", file, BootFile)) return false;
}
}
}
return true;
}