UWBCD / UWBCD-ReactOS

Ultimate Windows Boot CD with ReactOS - Goal is to create a free (and mostly Open-Source) Boot CD (All-in-One-Solution) for system repair & maintenance that is based on ReactOS and is a replacement for the discontinued Ultimate Boot CD 4 Windows (UBCD4Win).
http://www.uwbcd.org
MIT License
28 stars 4 forks source link

RAM DRIVE #1

Open skydecboot2018 opened 6 years ago

skydecboot2018 commented 6 years ago

Tested on 0.4.8. live and install Free ram drive programs that other bootcds use are ERAM-master and ImDisk Tried installing both on reactos, their icon is in control panel, GUI works but no drives are created. Looks like their services are not started and ImDisk in cmd reports that its driver isn't loaded into kernel.

Tobias-B-Besemer commented 6 years ago

Thank you very much for the information!

Can you also report this directly to the ReacOS-Team? https://github.com/reactos/reactos

ScriptTiger commented 6 years ago

Actually, ReactOS has a separate tracker they use officially: https://jira.reactos.org/

But in this case ReactOS already has a built-in RamDisk driver that supports LiveCD mode natively, but it is not a default option and must be configured as an advanced boot option. Mentioning installing and using third-party ram disk drivers inside of ReactOS won't be addressed as a related issue, unless you are talking about somehow integrating them as alternative ram disk drivers for the project.

Here is a quote from one of the ReactOS devs:

Re: UBCD4Win Revival Postby ThFabba » Tue Jun 05, 2018 10:42 am

Should be easy enough -- unlike Windows, ReactOS supports LiveCD mode. So you just need to get the tools working (check https://jira.reactos.org/ for existing bug reports, or file new ones if things don't work and none are there yet -- login is the same as for this forum).

The difficulty of integrating tools into the CD may vary. If it's a few individual files, you just add them to the modules/optional folder and https://github.com/reactos/reactos/blob/master/boot/bootdata/packages/reactos.dff.in If the tool requires installation, it may get trickier. Adding the individual files and registry entries manually, running setup as an autostart item, or finding/creating a "portable" version of the tool are some of the options.

Tobias-B-Besemer commented 6 years ago

Maybe I'm naive, but my idea was to 'copy' the Live-ISO into a VM of VitrualBox, install all the software, try to 'convert' the VM again into an ISO, and look, if it's works... ^^

ScriptTiger commented 6 years ago

Creating a VM we can share as an open development environment actually isn't a bad idea. But rather than "converting" anything, it would just be a model for the the LiveCD mode. In other words, we can develop things and demo them in the VM, and then we can reproduce on the LiveCD. The LiveCD and installation into a VM are two fundamentally different environments and must be done separately. And the final product we are shooting for is a LiveCD format, so developing and demoing only within an installation in a VM wouldn't actually be helping us get to our final product goal and would leave the ram disk environment completely untested.

Tobias-B-Besemer commented 6 years ago

Guess there isn't any solution to boot directly into a (write-protected) VM (like KVM), yet...

ScriptTiger commented 6 years ago

You wouldn't need to, all VM software comes with the ability to boot a disk image. But constantly tweaking the image and booting and tweaking and booting would be quite annoying and drag out development. What I am talking about as far as using a VM is that we could install ReactOS into a VM, test tools there to cover certain aspects within that environment, and then integrate them into the disk image after they are working in the VM and we have all the bugs worked out there. That way by the time we integrate them into the image, a lot of the ReactOS-specific compatibility issues have already been worked out and we are just dealing with LiveCD issues only.

Tobias-B-Besemer commented 6 years ago

I understand! I set it on the To-Dos-List... I was just 'dreaming' about a KVM that can be set-up on a HD and then be burned on a DVD with a KVM as loader like UBCD use grub4dos & syslinux...

Tobias-B-Besemer commented 6 years ago

But my 'dream' seems not to be so unrealistic... ^^ https://www.ovirt.org/download/ovirt-live/

Tobias-B-Besemer commented 6 years ago

Are am I wrong, or does he exactly what I was talking about: Booting a hard-disk-image! https://roscopeco.com/2013/08/12/creating-a-bootable-hard-disk-image-with-grub2/

Tobias-B-Besemer commented 6 years ago

https://forums.virtualbox.org/viewtopic.php?t=40124

ScriptTiger commented 6 years ago

You are correct, sir, but it is not related to this project. ReactOS built their own clone of ntldr called FreeLdr, which cannot coexist in the MBR with GRUB. You can hook one with the other, but they cannot both boot at the same time. If we are trying to get ReactOS dev support, we should stay away from third-party elements that are not supported. https://reactos.org/wiki/FreeLoader

It mimics the NT boot manager.

I think it is clear step 1 for this team is compiling a list of resource links for key aspects to understand ReactOS better. ReactOS is NOT Windows, NOT Linux, NOT BSD. ReactOS is an entirely different OS from the ground up. https://www.reactos.org/wiki/ReactOS

Just explore their wiki in general: https://reactos.org/wiki/Welcome_to_the_ReactOS_Development_Wiki

ReactOS is still in early development, so if step 1 of this project is to make tutorials and documentation even just for ourselves to understand it better, we have time to do that.

ScriptTiger commented 6 years ago

Some links for the ram disk. The wiki link is out of date and focuses on TFTP booting over a network, but you can ignore those parts and focus on the "ramdisk" portions

https://doxygen.reactos.org/dc/d38/boot_2freeldr_2freeldr_2disk_2ramdisk_8c.html https://www.reactos.org/wiki/Building_PXE-ready_ReactOS https://www.reactos.org/forum/viewtopic.php?p=87932 https://www.reactos.org/forum/viewtopic.php?t=13687

skydecboot2018 commented 6 years ago

Hi again. There might be some missunderstanding about the ramdrive

  1. booting iso from ram drive
  2. when reactos loads part of ram should be allocated as letter ( B:) and temp folder should be allocated to it so programs that need to use temp can work properly. I was trying number 2 option

The way I tested it was following:

  1. installed reactos on hdd with install iso
  2. loaded live win and deleted everything from hdd except freeldr file from root ( don't format as it would destroy the bootability of the partition)
  3. copied everything from livecd react os to hdd
  4. created ghost image for backup now I could work normaly with livecd but from a hdd and could add and test programs, later I would just return everything to ISO Since I could not get it to create the ram drive I stopped with further testing. Some program do work without temp folder like ghost, hwinfo and 7zip
Tobias-B-Besemer commented 6 years ago

Hi @skydecboot2018!

Yes, we talk about number 2!

I googled a bit about 'ReactOS ramdrive' (ramdisc) and saw the other meaning, too.

@ScriptTiger: I can't find a page that explain how it should go... Can you go deeper into it to maybe find one?

If we don't find a ReactOS-included solution, we should test third-party software, fill bugs in the ReactOS-Project and monitor them...

But even when we have no RAMDrive-Solution yet, we can anyway test the other software (because on HDD and in VM we have write-access and Temp-Folder) and fill bugs and monitor them...

Here is the solution I figured out to create e.g. a VM to test: https://github.com/UWBCD/UWBCD-ReactOS/wiki/Steps-to-produce-the-Boot-CD-from-scratch Your solution I noted here: https://github.com/UWBCD/UWBCD-ReactOS/wiki/Steps-to-produce-the-Boot-CD-from-scratch,-2

And maybe you want to discuss further development of UWBCD with us here: https://groups.google.com/forum/#!forum/uwbcd

Greets, Tobias.

ScriptTiger commented 6 years ago

@Tobias-B-Besemer, I agree totally with everything you have said. We should get what we can to work the way we know how and monitor ReactOS progress while pushing ahead in our other models, such as WinPE, VM, etc., and kind of trickle transition what we can into ReactOS from the other models as ReactOS becomes compatible. This way ReactOS isn't completely limiting development. So far feedback from the ReactOS forums from developers has been huge, such as the VGal builds, so we should also remember to be active in the forums with those guys, as well, while waiting for bug fixes, issue tickets, etc.

Tobias-B-Besemer commented 6 years ago

I asked for more information in the forum: https://www.reactos.org/forum/viewtopic.php?f=4&t=17235