mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-19 20:39:01 +00:00
33 lines
1.1 KiB
C#
33 lines
1.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.IO;
|
|
|
|
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");
|
|
|
|
// 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);
|
|
}
|
|
|
|
}
|
|
}
|