Author: hpoussin Date: Fri Oct 26 19:32:04 2007 New Revision: 29900
URL: http://svn.reactos.org/svn/reactos?rev=29900&view=rev Log: Add a SourceDiskFiles section in txtsetup.sif, instead of hardcoding a list of drivers in freeldr
Modified: trunk/reactos/boot/bootdata/txtsetup.sif trunk/reactos/boot/freeldr/freeldr/reactos/setupldr.c
Modified: trunk/reactos/boot/bootdata/txtsetup.sif URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/txtsetup.sif?... ============================================================================== --- trunk/reactos/boot/bootdata/txtsetup.sif (original) +++ trunk/reactos/boot/bootdata/txtsetup.sif Fri Oct 26 19:32:04 2007 @@ -10,6 +10,20 @@ 5 = media 6 = media\fonts 7 = bin + +[SourceDiskFiles] +;acpi.sys=,,,,,,x +;isapnp.sys=,,,,,,x +;pci.sys=,,,,,,x +scsiport.sys=,,,,,,x +class2.sys=,,,,,,x +cdrom.sys=,,,,,,x +cdfs.sys=,,,,,,x +disk.sys=,,,,,,x +floppy.sys=,,,,,,x +i8042prt.sys=,,,,,,x +kbdclass.sys=,,,,,,x +blue.sys=,,,,,,x
[SourceFiles] ; <filename> = <directory_id>
Modified: trunk/reactos/boot/freeldr/freeldr/reactos/setupldr.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/reacto... ============================================================================== --- trunk/reactos/boot/freeldr/freeldr/reactos/setupldr.c (original) +++ trunk/reactos/boot/freeldr/freeldr/reactos/setupldr.c Fri Oct 26 19:32:04 2007 @@ -448,28 +448,6 @@ return; }
-#if 0 - /* Load acpi.sys */ - if (!LoadDriver(SourcePath, "acpi.sys")) - return; -#endif - -#if 0 - /* Load isapnp.sys */ - if (!LoadDriver(SourcePath, "isapnp.sys")) - return; -#endif - -#if 0 - /* Load pci.sys */ - if (!LoadDriver(SourcePath, "pci.sys")) - return; -#endif - - /* Load scsiport.sys */ - if (!LoadDriver(SourcePath, "scsiport.sys")) - return; - /* Load atapi.sys (depends on hardware detection) */ if (!LoadDriver(SourcePath, "atapi.sys")) return; @@ -478,40 +456,30 @@ if (!LoadDriver(SourcePath, "buslogic.sys")) return;
- /* Load class2.sys */ - if (!LoadDriver(SourcePath, "class2.sys")) - return; - - /* Load cdrom.sys */ - if (!LoadDriver(SourcePath, "cdrom.sys")) - return; - - /* Load cdfs.sys */ - if (!LoadDriver(SourcePath, "cdfs.sys")) - return; - - /* Load disk.sys */ - if (!LoadDriver(SourcePath, "disk.sys")) - return; - - /* Load floppy.sys */ - if (!LoadDriver(SourcePath, "floppy.sys")) - return; - /* Load vfatfs.sys (could be loaded by the setup prog!) */ if (!LoadDriver(SourcePath, "vfatfs.sys")) return;
- - /* Load keyboard driver */ - if (!LoadDriver(SourcePath, "i8042prt.sys")) - return; - if (!LoadDriver(SourcePath, "kbdclass.sys")) - return; - - /* Load screen driver */ - if (!LoadDriver(SourcePath, "blue.sys")) - return; + /* Load additional files specified in txtsetup.inf */ + if (InfFindFirstLine(InfHandle, + "SourceDiskFiles", + NULL, + &InfContext)) + { + do + { + LPCSTR Media, DriverName; + if (InfGetDataField(&InfContext, 7, &Media) && + InfGetDataField(&InfContext, 0, &DriverName)) + { + if (strcmp(Media, "x") == 0) + { + if (!LoadDriver(SourcePath, DriverName)) + return; + } + } + } while (InfFindNextLine(&InfContext, &InfContext)); + }
#ifdef USE_UI UiUnInitialize("Booting ReactOS...");