setupldr previously worked by faking the FreeLdr OS menu function. Now

FreeLdr has a special OS type for ReactOS Setup, which will only work for
the bootcd. As a result, bootcd can display a menu now. This opens up the
possibility of including both a "live" environment for users to play with
as well as the opportunity to install, from the same disc.


svn path=/trunk/; revision=38962
This commit is contained in:
Andrew Greenwood 2009-01-19 23:38:08 +00:00
parent 56a1175be8
commit f7e32af29b
6 changed files with 20 additions and 7 deletions

View file

@ -115,6 +115,14 @@ VOID RunLoader(VOID)
{
LoadAndBootReactOS(OperatingSystemSectionNames[SelectedOperatingSystem]);
}
#ifdef FREELDR_ROS_SETUP
else if (_stricmp(SettingValue, "ReactOSSetup") == 0)
{
// Could probably pass the selection across at a later date
// which might be useful for different install methods?
RunReactOSSetup();
}
#endif
#ifdef __i386__
else if (_stricmp(SettingValue, "WindowsNT40") == 0)
{

View file

@ -77,6 +77,12 @@
<file>version.c</file>
<file>cmdline.c</file>
<file>machine.c</file>
<file>drivemap.c</file>
<file>miscboot.c</file>
<file>options.c</file>
<file>linuxboot.c</file>
<file>oslist.c</file>
<file>custom.c</file>
<directory name="include">
<pch>freeldr.h</pch>
</directory>

View file

@ -7,10 +7,4 @@
<compilerflag>-fno-inline</compilerflag>
<compilerflag>-fno-zero-initialized-in-bss</compilerflag>
<file>bootmgr.c</file>
<file>drivemap.c</file>
<file>miscboot.c</file>
<file>options.c</file>
<file>linuxboot.c</file>
<file>oslist.c</file>
<file>custom.c</file>
</module>

View file

@ -107,5 +107,6 @@
VOID BootMain(LPSTR CmdLine);
VOID RunLoader(VOID);
VOID RunReactOSSetup(VOID);
#endif // defined __FREELDR_H

View file

@ -42,7 +42,7 @@ extern BOOLEAN FrLdrLoadNlsFile(PCSTR szFileName, PCSTR szModuleName);
#define USE_UI
VOID RunLoader(VOID)
VOID RunReactOSSetup(VOID)
{
ULONG i;
LPCSTR SourcePath;

View file

@ -4,11 +4,15 @@
<include base="setupldr_main">include</include>
<include base="ntoskrnl">include</include>
<define name="_NTHAL_" />
<define name="FREELDR_ROS_SETUP" />
<compilerflag>-ffreestanding</compilerflag>
<compilerflag>-fno-builtin</compilerflag>
<compilerflag>-fno-inline</compilerflag>
<compilerflag>-fno-zero-initialized-in-bss</compilerflag>
<compilerflag>-Os</compilerflag>
<file>bootmgr.c</file>
<directory name="inffile">
<file>inffile.c</file>
</directory>