- Added support for special value "LiveCD" of SystemPath option

for loading ReactOS. It uses the known boot drive information
  as the boot path.

svn path=/trunk/; revision=9457
This commit is contained in:
Filip Navara 2004-05-21 20:29:56 +00:00
parent 1c9e1c3a8b
commit 17983ae6be
3 changed files with 59 additions and 38 deletions

View file

@ -1,3 +1,9 @@
Changes in v1.8.20 (21/05/2004) (navaraf)
- Added support for special value "LiveCD" of SystemPath option
for loading ReactOS. It uses the known boot drive information
as the boot path.
Changes in v1.8.19 (12/20/2003) (ekohl)
- Detect PS/2 Port and Pointer Device (Mouse).

View file

@ -22,7 +22,7 @@
/* just some stuff */
#define VERSION "FreeLoader v1.8.19"
#define VERSION "FreeLoader v1.8.20"
#define COPYRIGHT "Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>"
#define AUTHOR_EMAIL "<brianp@sginet.com>"
#define BY_AUTHOR "by Brian Palmer"
@ -36,7 +36,7 @@
//
#define FREELOADER_MAJOR_VERSION 1
#define FREELOADER_MINOR_VERSION 8
#define FREELOADER_PATCH_VERSION 19
#define FREELOADER_PATCH_VERSION 20
#ifndef ASM

View file

@ -514,6 +514,20 @@ LoadAndBootReactOS(PUCHAR OperatingSystemName)
return;
}
/*
* Special case for Live CD.
*/
if (!stricmp(value, "LiveCD"))
{
strcpy(szBootPath, "\\reactos");
/* Set kernel command line */
sprintf(multiboot_kernel_cmdline,
"multi(0)disk(0)cdrom(%u)\\reactos",
(unsigned int)BootDrive);
}
else
{
/*
* Verify system path
*/
@ -524,10 +538,6 @@ LoadAndBootReactOS(PUCHAR OperatingSystemName)
return;
}
/* set boot drive and partition */
((char *)(&mb_info.boot_device))[0] = (char)BootDrive;
((char *)(&mb_info.boot_device))[1] = (char)BootPartition;
/* recalculate the boot partition for freeldr */
i = 0;
rosPartition = 0;
@ -556,6 +566,11 @@ LoadAndBootReactOS(PUCHAR OperatingSystemName)
/* copy ARC path into kernel command line */
strcpy(multiboot_kernel_cmdline, value);
}
/* Set boot drive and partition */
((char *)(&mb_info.boot_device))[0] = (char)BootDrive;
((char *)(&mb_info.boot_device))[1] = (char)BootPartition;
/*
* Read the optional kernel parameters (if any)