private bool CopyFilesForNonProxy()
{
var pxeMode = Settings.PxeMode;
switch (pxeMode)
{
case "ipxe":
if (!CopyCommand("ipxe", "normal", "ipxe", "", "undionly.kpxe", BootFile)) return false;
break;
case "ipxe_efi32":
if (!CopyCommand("ipxe", "normal", "ipxe_efi_32", "", "ipxe.efi", BootFile)) return false;
break;
case "ipxe_efi_snp32":
if (!CopyCommand("ipxe", "normal", "ipxe_efi_32", "", "snp.efi", BootFile)) return false;
break;
case "ipxe_efi_snponly32":
if (!CopyCommand("ipxe", "normal", "ipxe_efi_32", "", "snponly.efi", BootFile)) return false;
break;
case "ipxe_efi64":
if (!CopyCommand("ipxe", "normal", "ipxe_efi_64", "", "ipxe.efi", BootFile)) return false;
break;
case "ipxe_efi_snp64":
if (!CopyCommand("ipxe", "normal", "ipxe_efi_64", "", "snp.efi", BootFile)) return false;
break;
case "ipxe_efi_snponly64":
if (!CopyCommand("ipxe", "normal", "ipxe_efi_64", "", "snponly.efi", BootFile)) return false;
break;
case "pxelinux":
foreach (var file in _syslinuxBiosFiles)
{
if (file == "pxelinux.0")
{
if (!CopyCommand("syslinux", "normal", "pxelinux", "", file, BootFile)) return false;
}
else
{
if (!CopyCommand("syslinux", "normal", "pxelinux", "", file, file)) return false;
}
}
break;
case "syslinux_efi32":
foreach (var file in _syslinuxEfi32Files)
{
if (file == "syslinux.efi")
{
if (!CopyCommand("syslinux", "normal", "syslinux_efi_32", "", file, BootFile)) return false;
}
else
{
if (!CopyCommand("syslinux", "normal", "syslinux_efi_32", "", file, file)) return false;
}
}
break;
case "syslinux_efi64":
foreach (var file in _syslinuxEfi64Files)
{
if (file == "syslinux.efi")
{
if (!CopyCommand("syslinux", "normal", "syslinux_efi_64", "", file, BootFile)) return false;
}
else
{
if (!CopyCommand("syslinux", "normal", "syslinux_efi_64", "", file, file)) return false;
}
}
break;
case "grub":
foreach (var file in _grubEfi64Files)
{
if (file == "bootx64.efi")
{
if (!CopyCommand("grub", "", "", "", file, BootFile)) return false;
}
else
{
if (!CopyCommand("grub", "", "", "", file, file)) return false;
}
}
break;
case "winpe_bios32":
try
{
File.Copy(Settings.TftpPath + "boot" + Path.DirectorySeparatorChar + "BCDx86",
Settings.TftpPath + "boot" + Path.DirectorySeparatorChar + "BCD",true);
new FileOps().SetUnixPermissions(Settings.TftpPath + "boot" + Path.DirectorySeparatorChar + "BCD");
}
catch (Exception ex)
{
Logger.Log(ex.Message);
return false;
}
foreach (var file in _winPEBiosFiles)
{
if (file == "pxeboot.n12")
{
if (!CopyCommand("winpe", "", "winpe", "", file, BootFile)) return false;
}
else
{
if (!CopyCommand("winpe", "", "winpe", "", file, file)) return false;
}
}
break;
case "winpe_bios64":
try
{
File.Copy(Settings.TftpPath + "boot" + Path.DirectorySeparatorChar + "BCDx64",
Settings.TftpPath + "boot" + Path.DirectorySeparatorChar + "BCD",true);
new FileOps().SetUnixPermissions(Settings.TftpPath + "boot" + Path.DirectorySeparatorChar + "BCD");
}
catch (Exception ex)
{
Logger.Log(ex.Message);
return false;
}
foreach (var file in _winPEBiosFiles)
{
if (file == "pxeboot.n12")
{
if (!CopyCommand("winpe", "", "winpe", "", file, BootFile)) return false;
}
else
{
if (!CopyCommand("winpe", "", "winpe", "", file, file)) return false;
}
}
break;
case "winpe_efi32":
try
{
File.Copy(Settings.TftpPath + "boot" + Path.DirectorySeparatorChar + "BCDx86",
Settings.TftpPath + "boot" + Path.DirectorySeparatorChar + "BCD",true);
new FileOps().SetUnixPermissions(Settings.TftpPath + "boot" + Path.DirectorySeparatorChar + "BCD");
}
catch (Exception ex)
{
Logger.Log(ex.Message);
return false;
}
if (!CopyCommand("winpe", "", "winpe_efi_32", "", "bootmgfw.efi", BootFile)) return false;
break;
case "winpe_efi64":
try
{
File.Copy(Settings.TftpPath + "boot" + Path.DirectorySeparatorChar + "BCDx64",
Settings.TftpPath + "boot" + Path.DirectorySeparatorChar + "BCD",true);
new FileOps().SetUnixPermissions(Settings.TftpPath + "boot" + Path.DirectorySeparatorChar + "BCD");
}
catch (Exception ex)
{
Logger.Log(ex.Message);
return false;
}
if (!CopyCommand("winpe", "", "winpe_efi_64", "", "bootmgfw.efi", BootFile)) return false;
break;
}
return true;
}