[ros-diffs] [ros-arm-bringup] 35402: Make RAM disk support work on x86 as well (it is now generic): 1) Don't assert if loaded from setup. On NT this means special things, but we don't care about that for now. 2) Add to txtsetup.sif along with the other core FS drivers. This will eventually allow installing from ramdisk as well (and later, over the network) 3) Add to hivesys_i386.inf so that the driver is initialized. RAM disk now works flawlessly on x86 -- just make sure to follow the previous instructions, and add <size of your RAM disk> to your total memory available to ReactOS.
ros-arm-bringup at svn.reactos.org
ros-arm-bringup at svn.reactos.org
Sun Aug 17 04:35:30 CEST 2008
- Previous message: [ros-diffs] [ros-arm-bringup] 35401: FreeLDR-side of RAM Disk support for x86 based on actual NT implementation (instead of ARM-only hacks): 1) First, remove the hack in bootmgr.c that looked for a reactos.img. 2) Instead, read the command line to the kernel, and check for /RDIMAGEPATH. If found, load the ramdisk in the loader. 3) This uses the same routine as the previous hack, but enhances it with actual status and progress printouts. 4) Finally, update usetup to generate a ReactOS (RAM Disk) entry on DBG builds, under the WinLDR one. Also fixed a bug where, on MiniTUI, the text sent to UiDrawProgressBarCenter would be ignored. This patch does not result in working RAM disk support yet. To test the FreeLDR side of things, you need to create a ramdisk file: this is easy. Preferred way right now is to use qemu-img to create a standard QEMU image. Then install ReactOS on it and configure it. This is now your ramdisk. Make your image about 100MB; this is how much ReactOS requires to install right now. Now on your "official" QEMU image, you can delete everything except freeldr.sys and freeldr.ini. Or don't, if it's large enough. Now add the reactos.img to your official image. You should have at least 100MB free space. Now when you boot the ReactOS (RAM disk) entry, it should boot up until the kernel, which will panic since there's no ramdisk support yet. Note that you can't just create a QEMU image and drop files in it -- it must be properly formatted and have the ReactOS boot sector: The RAM disk isn't just a collection of files, it's an entire virtual drive, so that's why you must first officially install ReactOS on it.
- Next message: [ros-diffs] [arty] 35403: Don't attempt to mount a partition that starts with a fat bootblock.
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: ros-arm-bringup
Date: Sat Aug 16 21:35:30 2008
New Revision: 35402
URL: http://svn.reactos.org/svn/reactos?rev=35402&view=rev
Log:
Make RAM disk support work on x86 as well (it is now generic):
1) Don't assert if loaded from setup. On NT this means special things, but we don't care about that for now.
2) Add to txtsetup.sif along with the other core FS drivers. This will eventually allow installing from ramdisk as well (and later, over the network)
3) Add to hivesys_i386.inf so that the driver is initialized.
RAM disk now works flawlessly on x86 -- just make sure to follow the previous instructions, and add <size of your RAM disk> to your total memory available to ReactOS.
Modified:
trunk/reactos/boot/bootdata/hivesys_i386.inf
trunk/reactos/boot/bootdata/txtsetup.sif
trunk/reactos/drivers/storage/class/ramdisk/ramdisk.c
Modified: trunk/reactos/boot/bootdata/hivesys_i386.inf
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/hivesys_i386.inf?rev=35402&r1=35401&r2=35402&view=diff
==============================================================================
--- trunk/reactos/boot/bootdata/hivesys_i386.inf [iso-8859-1] (original)
+++ trunk/reactos/boot/bootdata/hivesys_i386.inf [iso-8859-1] Sat Aug 16 21:35:30 2008
@@ -24,6 +24,10 @@
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4D36E975-E325-11CE-BFC1-08002BE10318}","Installer32",0x00000000,"NetCfgx.dll,NetClassInstaller"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4D36E975-E325-11CE-BFC1-08002BE10318}","NoDisplayClass",0x00000000,"1"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4D36E975-E325-11CE-BFC1-08002BE10318}","NoInstallClass",0x00000000,"1"
+
+HKLM,"SYSTEM\CurrentControlSet\Control\Class\{9D6D66A6-0B0C-4563-9077-A0E9A7955AE4}",,0x00000000,"Ramdisk"
+HKLM,"SYSTEM\CurrentControlSet\Control\Class\{9D6D66A6-0B0C-4563-9077-A0E9A7955AE4}","Class",0x00000000,"Ramdisk"
+HKLM,"SYSTEM\CurrentControlSet\Control\Class\{9D6D66A6-0B0C-4563-9077-A0E9A7955AE4}","Icon",0x00000000,"-5"
; Default computer name settings
HKLM,"SYSTEM\CurrentControlSet\Control\ComputerName",,0x00000012
@@ -1025,6 +1029,13 @@
HKLM,"SYSTEM\CurrentControlSet\Services\fastfat","Start",0x00010001,0x00000000
HKLM,"SYSTEM\CurrentControlSet\Services\fastfat","Type",0x00010001,0x00000002
+; RAM Disk class driver
+HKLM,"SYSTEM\CurrentControlSet\Services\RamDisk","ErrorControl",0x00010001,0x00000000
+HKLM,"SYSTEM\CurrentControlSet\Services\RamDisk","Group",0x00000000,"Boot File System"
+HKLM,"SYSTEM\CurrentControlSet\Services\RamDisk","ImagePath",0x00020000,"system32\drivers\ramdisk.sys"
+HKLM,"SYSTEM\CurrentControlSet\Services\RamDisk","Start",0x00010001,0x00000000
+HKLM,"SYSTEM\CurrentControlSet\Services\RamDisk","Type",0x00010001,0x00000002
+
; EXT2 Filesystem driver
HKLM,"SYSTEM\CurrentControlSet\Services\Ext2fs","ErrorControl",0x00010001,0x00000000
HKLM,"SYSTEM\CurrentControlSet\Services\Ext2fs","Group",0x00000000,"Boot File System"
Modified: trunk/reactos/boot/bootdata/txtsetup.sif
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/txtsetup.sif?rev=35402&r1=35401&r2=35402&view=diff
==============================================================================
--- trunk/reactos/boot/bootdata/txtsetup.sif [iso-8859-1] (original)
+++ trunk/reactos/boot/bootdata/txtsetup.sif [iso-8859-1] Sat Aug 16 21:35:30 2008
@@ -33,6 +33,7 @@
scsiport.sys=,,,,,,x,,,,,,4
uniata.sys=,,,,,,,,,,,,4
fastfat.sys=,,,,,,x,,,,,,4
+ramdisk.sys=,,,,,,x,,,,,,4
ext2.sys=,,,,,,x,,,,,,4
[HardwareIdsDatabase]
Modified: trunk/reactos/drivers/storage/class/ramdisk/ramdisk.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/storage/class/ramdisk/ramdisk.c?rev=35402&r1=35401&r2=35402&view=diff
==============================================================================
--- trunk/reactos/drivers/storage/class/ramdisk/ramdisk.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/storage/class/ramdisk/ramdisk.c [iso-8859-1] Sat Aug 16 21:35:30 2008
@@ -2284,7 +2284,7 @@
//
// Are we being booted from setup? Not yet supported
//
- ASSERT (!KeLoaderBlock->SetupLdrBlock);
+ //ASSERT(!KeLoaderBlock->SetupLdrBlock);
}
//
@@ -2308,6 +2308,7 @@
PCHAR BootDeviceName, CommandLine;
PDEVICE_OBJECT PhysicalDeviceObject = NULL;
NTSTATUS Status;
+ DPRINT1("RAM Disk Driver Initialized\n");
//
// Query ramdisk parameters
@@ -2399,7 +2400,7 @@
//
// Installing from Ramdisk isn't supported yet
//
- ASSERT(!KeLoaderBlock->SetupLdrBlock);
+ //ASSERT(!KeLoaderBlock->SetupLdrBlock);
//
// Are we reporting the device
- Previous message: [ros-diffs] [ros-arm-bringup] 35401: FreeLDR-side of RAM Disk support for x86 based on actual NT implementation (instead of ARM-only hacks): 1) First, remove the hack in bootmgr.c that looked for a reactos.img. 2) Instead, read the command line to the kernel, and check for /RDIMAGEPATH. If found, load the ramdisk in the loader. 3) This uses the same routine as the previous hack, but enhances it with actual status and progress printouts. 4) Finally, update usetup to generate a ReactOS (RAM Disk) entry on DBG builds, under the WinLDR one. Also fixed a bug where, on MiniTUI, the text sent to UiDrawProgressBarCenter would be ignored. This patch does not result in working RAM disk support yet. To test the FreeLDR side of things, you need to create a ramdisk file: this is easy. Preferred way right now is to use qemu-img to create a standard QEMU image. Then install ReactOS on it and configure it. This is now your ramdisk. Make your image about 100MB; this is how much ReactOS requires to install right now. Now on your "official" QEMU image, you can delete everything except freeldr.sys and freeldr.ini. Or don't, if it's large enough. Now add the reactos.img to your official image. You should have at least 100MB free space. Now when you boot the ReactOS (RAM disk) entry, it should boot up until the kernel, which will panic since there's no ramdisk support yet. Note that you can't just create a QEMU image and drop files in it -- it must be properly formatted and have the ReactOS boot sector: The RAM disk isn't just a collection of files, it's an entire virtual drive, so that's why you must first officially install ReactOS on it.
- Next message: [ros-diffs] [arty] 35403: Don't attempt to mount a partition that starts with a fat bootblock.
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Ros-diffs
mailing list