diff --git a/Build/ISO/isolinux.bin b/Build/ISO/isolinux.bin index 922c3b0fb..c80f8438f 100644 Binary files a/Build/ISO/isolinux.bin and b/Build/ISO/isolinux.bin differ diff --git a/Build/ISO/ldlinux.c32 b/Build/ISO/ldlinux.c32 new file mode 100644 index 000000000..0d8f2ef0c Binary files /dev/null and b/Build/ISO/ldlinux.c32 differ diff --git a/Build/ISO/mboot.c32 b/Build/ISO/mboot.c32 new file mode 100644 index 000000000..f23ecbec8 Binary files /dev/null and b/Build/ISO/mboot.c32 differ diff --git a/Build/VMWare/Workstation/Cosmos.vmx b/Build/VMWare/Workstation/Cosmos.vmx index b5b5601ad..7a7198518 100644 --- a/Build/VMWare/Workstation/Cosmos.vmx +++ b/Build/VMWare/Workstation/Cosmos.vmx @@ -42,7 +42,7 @@ scsi0.pciSlotNumber = "16" vmci0.pciSlotNumber = "32" vmotion.checkpointFBSize = "23920640" vmci0.id = "1821907405" - +monitor.allowLegacyCPU = "TRUE" serial0.present = "TRUE" serial0.yieldOnMsrRead = "TRUE" serial0.fileType = "pipe" diff --git a/Build/ldlinux.c32 b/Build/ldlinux.c32 new file mode 100644 index 000000000..0d8f2ef0c Binary files /dev/null and b/Build/ldlinux.c32 differ diff --git a/Build/libcom32.c32 b/Build/libcom32.c32 new file mode 100644 index 000000000..aedab3330 Binary files /dev/null and b/Build/libcom32.c32 differ diff --git a/Build/mboot.c32 b/Build/mboot.c32 index d60152eb3..f23ecbec8 100644 Binary files a/Build/mboot.c32 and b/Build/mboot.c32 differ diff --git a/source/Cosmos.Build.Common/IsoMaker.cs b/source/Cosmos.Build.Common/IsoMaker.cs index 6f52368d4..2ce709a0a 100644 --- a/source/Cosmos.Build.Common/IsoMaker.cs +++ b/source/Cosmos.Build.Common/IsoMaker.cs @@ -24,6 +24,8 @@ namespace Cosmos.Build.Common File.Copy(Path.Combine(buildISO, "isolinux.bin"), Path.Combine(isoDirectory, "isolinux.bin")); File.Copy(Path.Combine(buildISO, "mboot.c32"), Path.Combine(isoDirectory, "mboot.c32")); File.Copy(Path.Combine(buildISO, "syslinux.cfg"), Path.Combine(isoDirectory, "syslinux.cfg")); + File.Copy(Path.Combine(buildISO, "ldlinux.c32"), Path.Combine(isoDirectory, "ldlinux.c32")); + File.Copy(Path.Combine(buildISO, "libcom32.c32"), Path.Combine(isoDirectory, "libcom32.c32")); File.Copy(imageFile, Path.Combine(isoDirectory, "Cosmos.bin")); string arg = diff --git a/source/Cosmos.Build.Common/UsbMaker.cs b/source/Cosmos.Build.Common/UsbMaker.cs index f8e328947..1bc0c48b2 100644 --- a/source/Cosmos.Build.Common/UsbMaker.cs +++ b/source/Cosmos.Build.Common/UsbMaker.cs @@ -5,29 +5,34 @@ using System.Linq; using System.Text; using System.IO; -namespace Cosmos.Build.Common { - public class UsbMaker { +namespace Cosmos.Build.Common +{ + public class UsbMaker + { + static public void Generate(string aDrive, string aKernelFile) + { + string xDrive = aDrive + @":\"; + string xPathUSB = Path.Combine(CosmosPaths.Build, "USB"); - static public void Generate(string aDrive, string aKernelFile) { - string xDrive = aDrive + @":\"; - string xPathUSB = Path.Combine(CosmosPaths.Build, "USB"); + // Copy to USB device + File.Copy(Path.Combine(xPathUSB, "mboot.c32"), xDrive + "mboot.c32", true); + File.Copy(Path.Combine(xPathUSB, "syslinux.cfg"), xDrive + "syslinux.cfg", true); + File.Copy(Path.Combine(xPathUSB, "ldlinux.c32"), xDrive + "ldlinux.c32"); + File.Copy(Path.Combine(xPathUSB, "libcom32.c32"), xDrive + "libcom32.c32"); + File.Copy(aKernelFile, xDrive + "Cosmos.bin", true); + //File.Copy(Path.Combine(xPathUSB, "syslinux-x86.efi"), xDrive + "syslinux-x86.efi", true); + //File.Copy(Path.Combine(xPathUSB, "syslinux-x64.efi"), xDrive + "syslinux-x64.efi", true); - // Copy to USB device - File.Copy(Path.Combine(xPathUSB, "mboot.c32"), xDrive + "mboot.c32", true); - File.Copy(Path.Combine(xPathUSB, "syslinux.cfg"), xDrive + "syslinux.cfg", true); - File.Copy(aKernelFile, xDrive + "Cosmos.bin", true); - - // Set MBR - // - // In future we might be able to bring this in house to reduce external calls. - // - syslinux-4.05\win\syslinux.c - has source we need. - // - http://www.fort-awesome.net/blog/2010/03/25/MBR_VBR_and_Raw_Disk - // - var xPSI = new ProcessStartInfo(Path.Combine(CosmosPaths.Tools, "syslinux.exe"), "-fma " + aDrive + ":"); - xPSI.UseShellExecute = false; - xPSI.CreateNoWindow = true; - Process.Start(xPSI); + // Set MBR + // + // In future we might be able to bring this in house to reduce external calls. + // - syslinux-4.05\win\syslinux.c - has source we need. + // - http://www.fort-awesome.net/blog/2010/03/25/MBR_VBR_and_Raw_Disk + // + var xPSI = new ProcessStartInfo(Path.Combine(CosmosPaths.Tools, "syslinux.exe"), "-fma " + aDrive + ":"); + xPSI.UseShellExecute = false; + xPSI.CreateNoWindow = true; + Process.Start(xPSI); + } } - - } }