diff --git a/Users/Sentinel/SentinelKernel/SentinelKernelBoot.Cosmos b/Users/Sentinel/SentinelKernel/SentinelKernelBoot.Cosmos index 9fd6d1102..ff0b21d39 100644 --- a/Users/Sentinel/SentinelKernel/SentinelKernelBoot.Cosmos +++ b/Users/Sentinel/SentinelKernel/SentinelKernelBoot.Cosmos @@ -6,7 +6,7 @@ {40c3f1e6-2880-4af4-91fd-dfd41484719d} false SentinelKernelBoot - Bin + Elf v4.5 SAK SAK @@ -14,23 +14,23 @@ SAK - Bochs + VMware True Source User - False - false - Player + True + False + Workstation bin\Debug\ SentinelKernelBoot - Use Bochs emulator to deploy and debug. + Use VMware Player or Workstation to deploy and debug. ISO - Bochs + VMware Pipe: Cosmos\Serial - True + False SentinelKernelBoot Use VMware Player or Workstation to deploy and debug. ISO @@ -41,7 +41,7 @@ Pipe: Cosmos\Serial Workstation bin\Debug\ - False + True False True SentinelKernelBoot diff --git a/Users/Sentinel/SentinelSystem/SentinelVFS.cs b/Users/Sentinel/SentinelSystem/SentinelVFS.cs index 5540146b6..211627172 100644 --- a/Users/Sentinel/SentinelSystem/SentinelVFS.cs +++ b/Users/Sentinel/SentinelSystem/SentinelVFS.cs @@ -5,12 +5,13 @@ using Cosmos.System; using System; using System.Collections.Generic; using System.IO; +using SentinelKernel.System.FileSystem.FAT; using Console = global::System.Console; namespace SentinelKernel.System.FileSystem.VFS { [Serializable] - public struct KVP + public class KVP { private readonly TKey key; private readonly TValue value; @@ -45,6 +46,7 @@ namespace SentinelKernel.System.FileSystem.VFS if (BlockDevice.Devices[i] is Partition) { mPartitions.Add((Partition)BlockDevice.Devices[i]); + break; } } @@ -68,16 +70,25 @@ namespace SentinelKernel.System.FileSystem.VFS for (int i = 0; i < mPartitions.Count; i++) { string xRootPath = string.Concat(i, VolumeSeparatorChar, DirectorySeparatorChar); + FatFileSystem xFileSystem = null; switch (FileSystem.GetFileSystemType(mPartitions[i])) { case FileSystemType.FAT: - mFileSystems.Add(new KVP(xRootPath, new FAT.FatFileSystem(mPartitions[i]))); + xFileSystem = new FAT.FatFileSystem(mPartitions[i]); + mFileSystems.Add(new KVP(xRootPath, xFileSystem)); break; + default: + Console.WriteLine("Unknown filesystem type!"); + return; } - if (mFileSystems[i].Key == xRootPath) + Console.Write("i = "); + Console.WriteLine(i.ToString()); + Console.Write("mFileSystems.Count = "); + Console.WriteLine(mFileSystems.Count); + if (xFileSystem!=null) { - var xFatFS = mFileSystems[i].Value as FAT.FatFileSystem; + var xFatFS = (FAT.FatFileSystem)xFileSystem; Console.WriteLine("-------File System--------"); Console.WriteLine("Bytes per Cluster: " + xFatFS.BytesPerCluster); Console.WriteLine("Bytes per Sector: " + xFatFS.BytesPerSector);