From 786f085a42e6adc052d72e79e877bf273505cec6 Mon Sep 17 00:00:00 2001 From: kudzu_cp <6d05c8c8ef5431987001abfdb2eadc9593ac9498> Date: Wed, 9 Jan 2008 13:30:26 +0000 Subject: [PATCH] PXE Works now too --- Build/PXE/boot/pxelinux.cfg/default | 2 +- source/Cosmos.Build.Windows/Builder.cs | 30 ++++++++++---------------- 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/Build/PXE/boot/pxelinux.cfg/default b/Build/PXE/boot/pxelinux.cfg/default index 5daae4555..ff1fb419b 100644 --- a/Build/PXE/boot/pxelinux.cfg/default +++ b/Build/PXE/boot/pxelinux.cfg/default @@ -2,4 +2,4 @@ DEFAULT Cosmos LABEL Cosmos KERNEL mboot.c32 - APPEND output.obj + APPEND output.bin diff --git a/source/Cosmos.Build.Windows/Builder.cs b/source/Cosmos.Build.Windows/Builder.cs index 1a8983715..84b5c4e2c 100644 --- a/source/Cosmos.Build.Windows/Builder.cs +++ b/source/Cosmos.Build.Windows/Builder.cs @@ -11,13 +11,19 @@ namespace Cosmos.Build.Windows { protected string mBuildPath; protected string mToolsPath; protected string mISOPath; + protected string mPXEPath; protected string mAsmPath; public Builder() { var xKey = Registry.CurrentUser.OpenSubKey(@"Software\Cosmos"); mBuildPath = (string)xKey.GetValue("Build Path"); + if (!mBuildPath.EndsWith(@"\")) { + mBuildPath = mBuildPath + @"\"; + } + mToolsPath = mBuildPath + @"Tools\"; mISOPath = mBuildPath + @"ISO\"; + mPXEPath = mBuildPath + @"PXE\"; mAsmPath = mToolsPath + @"asm\"; } @@ -51,10 +57,8 @@ namespace Cosmos.Build.Windows { RemoveFile(mBuildPath + "cosmos.iso"); RemoveFile(mISOPath + "output.bin"); File.Copy(mBuildPath + "output.bin", mISOPath + "output.bin"); - // From TFS its read only, and one of the utils doesnt like that + // From TFS its read only, mkisofs doesnt like that File.SetAttributes(mISOPath + "isolinux.bin", FileAttributes.Normal); - - // Call(mToolsPath + @"mkisofs.exe", "-R -b syslinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -o Cosmos.iso files", mISOPath, true); Call(mToolsPath + @"mkisofs.exe", @"-R -b isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -o ..\Cosmos.iso .", mISOPath, true); } @@ -79,7 +83,7 @@ namespace Cosmos.Build.Windows { public void BuildKernel() { } - public enum Target { ISO, PXE, QEMU, QEMU_GDB, VMWare, VMWarePXE, VirtualPC, VirtualPCPXE }; + public enum Target { ISO, PXE, QEMU, QEMU_GDB }; public void Build(Target aType) { Compile(); @@ -89,10 +93,10 @@ namespace Cosmos.Build.Windows { break; case Target.PXE: - RemoveFile(Path.Combine(mBuildPath, @"PXE\Boot\output.obj")); - File.Move(mBuildPath + @"output.obj", mBuildPath + @"PXE\Boot\output.obj"); + RemoveFile(mPXEPath + @"Boot\output.bin"); + File.Move(mBuildPath + "output.bin", mPXEPath + @"Boot\output.bin"); // *Must* set working dir so tftpd32 will set itself to proper dir - Call(mBuildPath + @"tftpd32.exe", "", mBuildPath + @"pxe\", false); + Call(mPXEPath + "tftpd32.exe", "", mPXEPath, false); break; case Target.QEMU: @@ -109,18 +113,6 @@ namespace Cosmos.Build.Windows { } break; - case Target.VMWare: - break; - - case Target.VMWarePXE: - break; - - case Target.VirtualPC: - break; - - case Target.VirtualPCPXE: - break; - } }