Jump to content











Photo
* * * * * 7 votes

FiraDisk (latest = 0.0.1.30)


  • Please log in to reply
630 replies to this topic

#76 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 13 September 2009 - 10:04 AM

One difference I see is that, Firadisk works with Disk Management and other partition tools, whereas if you mount using ImDisk, VDK, etc. you cannot use those tools, as far as I know.


Sure that is "by design". :)

Firadisk is a "full" miniport driver. :)

VDK is NOT a miniport driver.
IMDISK is not even a "disk" driver, but a "superfloppy" driver. (more near to a filesystem driver than to a hardware driver)

jaclaz

#77 oriensol

oriensol

    Frequent Member

  • Advanced user
  • 216 posts
  •  
    India

Posted 13 September 2009 - 10:28 AM

@jaclaz

You are correct.

What I was hinting :) to Karyonix was that the console/gui interface may not be 'not very important' with the hope that Karyonix will take that up :)

#78 dog

dog

    Frequent Member

  • Expert
  • 236 posts

Posted 13 September 2009 - 10:42 AM

- Boot from image file without RAM drive.

I'd vote for this one - would make it easy to update or customise a ram load image.
Thanks for your work so far! :)

#79 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 13 September 2009 - 11:48 AM

- Boot from image file without RAM drive.
Not possible with current FiraDisk. Require rewriting of much of the code.


You mean like the native boot from vhd on win7/2008r2?

#80 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 13 September 2009 - 12:42 PM

You mean like the native boot from vhd on win7/2008r2?


He probably means "like jaclaz is desperately trying to convince programmers about" :):
http://www.boot-land...?...=8168&st=11
http://www.boot-land...?...block&st=14
:)

NO or very little RAM would be harmed in the making of this movie boot....:)

:)

jaclaz

#81 siro

siro
  • Members
  • 7 posts
  •  
    Germany

Posted 13 September 2009 - 01:02 PM

@karyonix, this driver is awesome, thanks !
I've done some benchmarks, heres the result:
testing system: Athlon64 3800+, 4GB DDR400 RAM, old asus board
I'll compare standart RAMDISK.SYS 5.1.2600.2180 to firadisk.sys 0.0.1.10 using Bart's Stuff test 5.1.4
All measurements are done three times and calced to an arithmetic mean. All values are average MB/s.

Barts PE 3.1 created from WinXPSP2 using RAMDISK.SYS
VirtualBox 3.0.2
WRITE: 344+-24
READ : 277+-46
Qemu 0.10.0
WRITE: 48+-11
READ: 52+-10
Host:
WRITE: 739+-7
READ: 609+-73

WindowsXPSP2 std. installation, firadisk 0.0.1.10, 1GB NTFS image, loaded into ram via GRUB
VirtualBox 3.0.2
WRITE: 272+-8
READ : 207+-18
Qemu 0.10.0
WRITE: 26+-3
READ : 38+-1
Host:
WRITE: 287+-4
READ : 054+-1

Difference (RAMDISK is 100%):
VirtualBox 3.0.2
WRITE: 79,07%
READ: 74,73%
Qemu 0.10.0
WRITE: 54,17%
READ: 73,08%
Host:
WRITE: 38,84%
READ: 8,87%

I was wondering about the READ speed on the host system. I expected it to be around 200MB/s, but it stayed at 54MB/s, no idea why, in VirtualBox it's fine.

siro

#82 paraglider

paraglider

    Gold Member

  • .script developer
  • 1743 posts
  • Location:NC,USA
  •  
    United States

Posted 13 September 2009 - 01:09 PM

Amazing how slow qemu is compared to virtualbox which is only 50% of the host speed. Could you try the latest vmplayer from vmware?

#83 cdob

cdob

    Gold Member

  • Expert
  • 1469 posts

Posted 13 September 2009 - 05:52 PM

What do you think I should do first ?

In general:
Collect user request and store them.
But don't care about user request too far currently.

If a user request challenge you, write this first.
Or ignore the request currently.
Write anything you have most fun currently.


I'm using FiraDisk to RAM load a ISO image: XP installation from a ISO image.
http://www.msfn.org/...howtopic=137714

Currently I'm using FiraDisk at textmode part.
And ImDisk at guimode part, because there is a command line interface.
I appreciate a FiraDisk command line interface to be used at guimode part.

And I get a BSOD 0x7B at XP 64 bit.

- Boot from image file without RAM drive.
Not possible with current FiraDisk. Require rewriting of much of the code.

Yes, booting would be nice. Usefuall at machines with low RAM.

Another question: if you load a image without RAM drive and without boot support.
Is this rewriting less code?

#84 Lancelot

Lancelot

    Frequent Member

  • .script developer
  • 5013 posts
  • Location:Turkiye/Izmir
  • Interests:*Mechanical stuff and Physics,
    *LiveXP, BartPE, SherpyaXPE,
    *Basketball and Looong Walking,
    *Buying outwear for my girlf (Reason: Girls are stupid about buying bad stuff to make themselves uglier :))
    *Girls (Lyric: Girl,...., You will be a womann, Soon)
    *Answering questions for "Meaning of life",
    *Helping people,

    Kung with LiveXP, Fu with Peter :)
  •  
    Turkey

Posted 13 September 2009 - 05:55 PM

What do you think I should do first ?

In general:
Write anything you have most fun currently.

+1 :)

#85 oriensol

oriensol

    Frequent Member

  • Advanced user
  • 216 posts
  •  
    India

Posted 14 September 2009 - 09:09 AM

Glad to report success booting livexp (xp source) without Win2k3 files, using firadisk (0.0.1.12) and winxp setupldr.bin without using grub4dos.

Sorry - please ignore - I made a mistake.

#86 siro

siro
  • Members
  • 7 posts
  •  
    Germany

Posted 14 September 2009 - 09:57 AM

@paraglider sorry i tried to install vmware player, but i returned unknown error during the installation.
I've done more benchmarks using ATTO direct on the machine:
Posted Image
As you can see the write throughput is limited near 360MB/s, i guess by CPU.
But the read throughput stays at 54MB/s,throttled by the driver. Are you using different code for read/write access, that would explain those results ?
Heres another benchmark unchecked "Direct I/O", i don't know what this option does, but i gives very different results:
Posted Image
Read throughput is as fast as RAMDISK driver, but the write throughput isn't as good as above.
The access latency is amazing, 0.09ms on my system :)

siro

#87 karyonix

karyonix

    Frequent Member

  • Advanced user
  • 481 posts
  •  
    Thailand

Posted 14 September 2009 - 10:36 AM

code for read and write is almost the same
LARGE_INTEGER tximageoffset;

						PCHAR viewbase;

						SIZE_T viewsize = min(rqpart, FIRADISK_VIEW_SIZE);

						tximageoffset.QuadPart = ppart->physaddr + partoffset;

						FDPrint4(("FiraDisk:   map view	 physaddr=0x%I64x viewsize=0x%Ix\n",

							tximageoffset.QuadPart,viewsize));

						viewbase = (PCHAR)MmMapIoSpace(tximageoffset, viewsize, MmNonCached);

						if (viewbase)

						{

							UINT_PTR viewoffset = (UINT_PTR)(ppart->sectionoffset + partoffset - tximageoffset.QuadPart);

							FDPrint4(("FiraDisk:   map success  sectionoffset=0x%I64x viewsize=0x%Ix viewbase=0x%Ix\n",tximageoffset.QuadPart,viewsize,viewbase));

							txpart = (ULONG) min(rqpart, viewsize-viewoffset);

							if (opread)

								RtlCopyMemory(txbuffer, viewbase+viewoffset, txpart);

							else

								RtlCopyMemory(viewbase+viewoffset, txbuffer, txpart);

							FDPrint4(("FiraDisk:   copy data completed.\n"));

							MmUnmapIoSpace(viewbase, viewsize);

						} else {

							KdPrint(("FiraDisk:   map failed."));

						}
Read is slow probably because FiraDisk uses system worker thread to do all read&write. All read and write requests are always done asynchronously and are delayed by queuing.
Why is read slower than write? Maybe because there are numerous read requests each for only a few sectors while there are few write request each for a lot of sectors. Or another reason can be read operation is requested synchronously by higher-level drivers waiting for it to finish before requesting next sectors but they don't wait for write to complete. I don't know the real reason.
I will change its behavior to do read/write synchronously and keep mapped virtual address between requests, not map/unmap too often, and see how it affects speed.

#88 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 14 September 2009 - 11:02 AM

"Direct I/O" usually means cache turned off.

:)

#89 maanu

maanu

    Gold Member

  • Advanced user
  • 1134 posts
  •  
    Pakistan

Posted 15 September 2009 - 03:25 PM

The txtsetup.oem is used to load firadisk driver if you want to setup xp/2003 from iso or boot from a winpe iso.
In the floppy, it should contain txtsetup.oem, firadisk.inf,firadisk.sys

To start setup from winxp.iso

title start xp setup from iso

map --mem (hdx,x)/Firadisk.vfd (fd1)

map --mem (md)0x6000+800 (fd0)

map --mem (hdx,x)/winxp.iso (0xff)

map --hook

dd if=(fd1) of=(fd0) count=1

chainloader (0xff)
And windows setup can load firadisk drive from (fd1) and install the driver to winxp automatically, and you needn't press F6.


has anyone else tried to test the above method ?

i just did .

booting from usb drive , xp sp3 as iso . and have txtsetup.oem , firadisk.inf ,firadisk.sys in a floppy drive ,


title xp test 

map --mem  /fira.img (fd1)

map --mem (md)0x6000+800 (fd0)

map --mem /wxp.iso (0xff)

map --hook

dd if=fd1 of=fd0 count=1

chainloader (0xff)

setup started successfully , formatted my target partiiton , it copied files successfully .
setup restarted ,
windows started booting ,

then the following error appeared , ( do not remember the exact wording )

" windows could not find asms files, make sure you have cd/drive attached with xp installation files "


when i press " OK " , it gave the " fatal error " . pressed OK again , and setup rebooted.

and i had to restore from my backup :unsure:

edit :

it seems ,someone else had the same error too , 12th and 13th picture of below link ,

http://bbs.wuyou.com/viewthread.php?tid=146803&highlight=

not sure how he fix it , coz when i press " OK " it just gave me fatal error . :(

#90 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 15 September 2009 - 04:05 PM

cdob has devised a method, based on the one by fujianabc, using firadisk:
http://www.msfn.org/...ge-t137714.html
http://www.msfn.org/...61-page-29.html

jaclaz

#91 fujianabc

fujianabc

    Member

  • Members
  • 46 posts
  •  
    China

Posted 15 September 2009 - 05:09 PM

has anyone else tried to test the above method ?

i just did .

booting from usb drive , xp sp3 as iso . and have txtsetup.oem , firadisk.inf ,firadisk.sys in a floppy drive ,


title xp test 

map --mem  /fira.img (fd1)

map --mem (md)0x6000+800 (fd0)

map --mem /wxp.iso (0xff)

map --hook

dd if=fd1 of=fd0 count=1

chainloader (0xff)

setup started successfully , formatted my target partiiton , it copied files successfully .
setup restarted ,
windows started booting ,

then the following error appeared , ( do not remember the exact wording )

" windows could not find asms files, make sure you have cd/drive attached with xp installation files "


when i press " OK " , it gave the " fatal error " . pressed OK again , and setup rebooted.

and i had to restore from my backup ;)

edit :

it seems ,someone else had the same error too , 12th and 13th picture of below link ,

http://bbs.wuyou.com/viewthread.php?tid=146803&highlight=

not sure how he fix it , coz when i press " OK " it just gave me fatal error . ;)

In wuyou, we have two solutions:
1. Map the iso again with grub4dos before the second start

2. If you don't like to map the iso again, you should press shift+f10 when error appears, then you can run a virtual drive in cmd to mount the iso.

#92 maanu

maanu

    Gold Member

  • Advanced user
  • 1134 posts
  •  
    Pakistan

Posted 15 September 2009 - 05:51 PM

@ fujianabc

what do you mean by mapping iso AGAIN from grub4dos at 2nd start ?

you mean at 1st i use the above menu.lst entry (originally introduced by you i guess) , then format my target partition ,setup copy files , system restarts , THEN how and why i should map the same iso again with grub4dos ?

i hope thats what you meant that at second start , re map the iso .?

@ Sir Jaclaz

i shall take a look at the links .

thank you both for the reply.

edit :

cross linking my post at MSFN ,

http://www.msfn.org/board/install-xp-ram-loaded-iso-image-t137714-pid-882870.html#entry882870


#93 corsair

corsair
  • Members
  • 3 posts
  •  
    United States

Posted 16 September 2009 - 12:49 AM

First I would like to thank karyonix for the most amazing work done!
Thank you!

Reporting my success:
using filedisk to create images.
used win2k3enterprise sp2
driver 1.12

I wanted to minimize the size so I nlited the OS to about 280MB.
Installed in vmware, added firadisk driver
mounted vmdk in current windows, copied files to filedisk created/mounted image 1.5GB
booted with grub into windows successfully.

The 2nd most amazing thing this driver is capable of being snapshoted via shadow copy.
(1st being booting larger than 492MB disk image)
I can finally now save my state of my ram OS back onto my filedisk mounted image.
(windows ramdisk controller was not able to be snapshotted via shadow copy).
I can install drivers, adjust settings, and copy the state back to the image for any machine
I am able to boot from.
I used hobocopy.exe to get this done. Works very well. It uses volume shadow copy
where I can copy just the registry out for tweaks, or the whole OS using different batch files to copy specific folders.

I just wanted to post give a +1 thanks to karyonix
;)

#94 karyonix

karyonix

    Frequent Member

  • Advanced user
  • 481 posts
  •  
    Thailand

Posted 16 September 2009 - 05:13 AM

@maanu

you mean at 1st i use the above menu.lst entry (originally introduced by you i guess) , then format my target partition ,setup copy files , system restarts , THEN how and why i should map the same iso again with grub4dos ?

After Windows restart, RAM drive is lost.
You can create RAM drive again by booting from UFD again.
In GRUB4DOS, map your ISO again and chainload ntldr in harddisk.
Example of menu.lst entry
title Load ISO and boot from harddisk.

map --mem (hd0,0)/wxp.iso (0xff)

map (hd1) (hd0)

map (hd0) (hd1)

map --hook

root (hd0,0)

chainloader /ntldr
I have not tested it.

@corsair
Thanks for your test result.

#95 maanu

maanu

    Gold Member

  • Advanced user
  • 1134 posts
  •  
    Pakistan

Posted 16 September 2009 - 06:39 AM

ok thanks . i got it .

#96 fujianabc

fujianabc

    Member

  • Members
  • 46 posts
  •  
    China

Posted 16 September 2009 - 07:24 AM

ok thanks . i got it .

After the blue txtsetup, then you reboot to grub4dos
title Load ISO and start the 2nd stage of xp setup

map --mem (hdx,y)/wxp.iso (0xff)

map --hook

chainloader (hd0,0)/ntldr
It's very easy.

#97 maanu

maanu

    Gold Member

  • Advanced user
  • 1134 posts
  •  
    Pakistan

Posted 16 September 2009 - 07:51 AM

@ fujianabc

hmm yeah i understood it . but it has 2 negative points ( at least thats what i think )

1. we gotta know that on which hdd's which partition is our target partition for windows install . we can not use hard coded entry to chainload ntldr .

2. it took me 15 minutes to map --mem the xp iso at 1st stage . and frankly i dont want to spend another 15 minutes in 2nd stage .

the above 2 reasons are inspiring me to take a go with cdob's method ( MSFN link in last page's post)

#98 pseudo

pseudo
  • Members
  • 8 posts
  •  
    China

Posted 18 September 2009 - 07:40 AM

Recently, two users who use 0PE said, firadisk has helped them solve the problem of the BOSD.

One of them are using the HP Compaq 6520s notebook, the other one using the HP Compaq nx6330 notebook.
0PE originally using Diskless Angel (wdsys). In the above-mentioned two special notebooks, BSOD appeared. However, in other computers is normal.

With firadisk replacement, the problem is resolved.

0PE is a non-commercial PE, from China bbs.wuyou.com forum. It has the capacity to use the hard disk xp/2003 system resources. It uses advanced grub4dos menu commands to support the flexible deployment. 0PE's boot menu item can be found in the sample menu.lst in grub4dos release.

So far, firadisk in 0PE runs very well.

Thank you karyonix.

#99 maanu

maanu

    Gold Member

  • Advanced user
  • 1134 posts
  •  
    Pakistan

Posted 18 September 2009 - 08:27 AM

hi Pseduo

Welcome to Bootland . hope you will like in here.

your OPE is the most amazing piece of work using grub4dos that i have seen up to this date . it is different story that i dont know even 1% that how it actually works...
just a few questions , if it is really non-commercial product that why not share it here ? and perhaps a little how to, that how it can be used with fradisk to install windows .

#100 pseudo

pseudo
  • Members
  • 8 posts
  •  
    China

Posted 18 September 2009 - 09:18 AM

hi maanu
The 0PE has been developed for the Chinese people, but never thought of facing the world, He He.

I have already given some description, as well as links to some Chinese forums for details, in the msfn forums(begins at post#37):
http://www.msfn.org/...p...st&p=883020

If you are using CD to install windows, there are clever ways to solve the SATA / RAID issues, without firadisk;
If you are using iso to install windows, you have to rely on firadisk to simulate the permanent floppy disks, CD-ROM, and then continue with normal installation.
As the interface is a user-defined grub4dos menu, it seems more flexible.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users