IniSection = IniCacheAppendSection(IniCache,
L"FREELOADER");
-#ifdef DBG
+#if DBG
if (IsUnattendedSetup)
{
/* DefaultOS=ReactOS */
NULL,
INSERT_LAST,
L"DefaultOS",
- L"ReactOS_Debug");
+ L"ReactOS_KdSerial");
}
else
#endif
L"ReactOS");
}
-#ifdef DBG
+#if DBG
if (IsUnattendedSetup)
#endif
{
L"TimeOut",
L"0");
}
-#ifdef DBG
+#if DBG
else
{
/* Timeout=0 or 10 */
}
+NTSTATUS
+CreateFreeLoaderEntry(
+ PINICACHE IniCache,
+ PINICACHESECTION OSSection,
+ PWCHAR Section,
+ PWCHAR Description,
+ PWCHAR BootType,
+ PWCHAR ArcPath,
+ PWCHAR Options)
+{
+ PINICACHESECTION IniSection;
+
+ /* Insert entry into "Operating Systems" section */
+ IniCacheInsertKey(OSSection,
+ NULL,
+ INSERT_LAST,
+ Section,
+ Description);
+
+ /* Create new section */
+ IniSection = IniCacheAppendSection(IniCache, Section);
+
+ /* BootType= */
+ IniCacheInsertKey(IniSection,
+ NULL,
+ INSERT_LAST,
+ L"BootType",
+ BootType);
+
+ /* SystemPath= */
+ IniCacheInsertKey(IniSection,
+ NULL,
+ INSERT_LAST,
+ L"SystemPath",
+ ArcPath);
+
+ /* Options=*/
+ IniCacheInsertKey(IniSection,
+ NULL,
+ INSERT_LAST,
+ L"Options",
+ Options);
+
+ return STATUS_SUCCESS;
+}
+
NTSTATUS
CreateFreeLoaderIniForReactos(PWCHAR IniPath,
PWCHAR ArcPath)
IniSection = IniCacheAppendSection(IniCache,
L"Operating Systems");
- /* ReactOS="ReactOS" */
- IniCacheInsertKey(IniSection,
- NULL,
- INSERT_LAST,
- L"ReactOS",
- L"\"ReactOS\"");
-
- /* ReactOS_Debug="ReactOS (Debug)" */
- IniCacheInsertKey(IniSection,
- NULL,
- INSERT_LAST,
- L"ReactOS_Debug",
- L"\"ReactOS (Debug)\"");
-
- /* Create "ReactOS" section */
- IniSection = IniCacheAppendSection(IniCache,
- L"ReactOS");
-
- /* BootType=ReactOS */
- IniCacheInsertKey(IniSection,
- NULL,
- INSERT_LAST,
- L"BootType",
- L"ReactOS");
-
- /* SystemPath=<ArcPath> */
- IniCacheInsertKey(IniSection,
- NULL,
- INSERT_LAST,
- L"SystemPath",
- ArcPath);
-
- /* Options=*/
- IniCacheInsertKey(IniSection,
- NULL,
- INSERT_LAST,
- L"Options",
- L"");
-
- /* Create "ReactOS_Debug" section */
- IniSection = IniCacheAppendSection(IniCache,
- L"ReactOS_Debug");
-
- /* BootType=ReactOS */
- IniCacheInsertKey(IniSection,
- NULL,
- INSERT_LAST,
- L"BootType",
- L"ReactOS");
+ /* ReactOS */
+ CreateFreeLoaderEntry(IniCache, IniSection,
+ L"ReactOS", L"\"ReactOS\"",
+ L"Windows2003", ArcPath,
+ L"");
+
+ /* ReactOS_Debug */
+ CreateFreeLoaderEntry(IniCache, IniSection,
+ L"ReactOS_Debug", L"\"ReactOS (Debug)\"",
+ L"Windows2003", ArcPath,
+ L"/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS");
+
+#if DBG
+ /* ReactOS_KdSerial */
+ CreateFreeLoaderEntry(IniCache, IniSection,
+ L"ReactOS_KdSerial", L"\"ReactOS (RosDbg)\"",
+ L"ReactOS", ArcPath,
+ L"/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /KDSERIAL");
+
+ /* ReactOS_Ram */
+ CreateFreeLoaderEntry(IniCache, IniSection,
+ L"ReactOS_Ram", L"\"ReactOS (RAM Disk)\"",
+ L"ReactOS", L"ramdisk(0)\\ReactOS",
+ L"/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /RDIMAGEPATH=reactos.img /RDIMAGEOFFSET=32256");
+#endif
- /* SystemPath=<ArcPath> */
- IniCacheInsertKey(IniSection,
- NULL,
- INSERT_LAST,
- L"SystemPath",
- ArcPath);
+ /* ReactOS_old */
+ CreateFreeLoaderEntry(IniCache, IniSection,
+ L"ReactOS_old", L"\"ReactOS (old boot method)\"",
+ L"ReactOS", ArcPath,
+ L"");
- /* Options=/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS*/
- IniCacheInsertKey(IniSection,
- NULL,
- INSERT_LAST,
- L"Options",
- L"/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS");
+ /* ReactOS_Debug_old */
+ CreateFreeLoaderEntry(IniCache, IniSection,
+ L"ReactOS_Debug_old", L"\"ReactOS (Debug, old boot method)\"",
+ L"ReactOS", ArcPath,
+ L"/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS");
/* Save the ini file */
IniCacheSave(IniCache, IniPath);
NtClose(FileHandle);
if (!NT_SUCCESS(Status))
{
-CHECKPOINT1;
RtlFreeHeap(ProcessHeap, 0, OrigBootSector);
return(Status);
}