LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - General (https://www.linuxquestions.org/questions/linux-general-1/)
-   -   Incredibly useless but possibly cool.... (https://www.linuxquestions.org/questions/linux-general-1/incredibly-useless-but-possibly-cool-46840/)

DukeLeto 02-23-2003 08:48 PM

Incredibly useless but possibly cool....
 
I've an idea, I need help, if it's even possible. I want to use linux to SOMEHOW mount a ramdrive using ALL of my ram (512) Then....SOMEHOW install windows to this ramdrive, and make it bootable, now...problems...ram is cleared at reboot, etc....but this would make windows scream, and it would give it a 5 second boot, right? Ugh, stupid ideas, OUT OUT!!

micxz 02-23-2003 09:07 PM

dual boot? I'm confused'

Palin 02-23-2003 09:11 PM

I understand what you want to do but I can't figure out why
what I would really love to do is run linux on a palm pilot :)

DukeLeto 02-23-2003 09:11 PM

Quote:

Originally posted by micxz
dual boot? I'm confused'
*shrug* So am I....remember all the talk YEARS ago about making windows load in 5 seconds by loading the entire os into memory but it was too expensive? Not anymore, computers easily have 512 ram. Now...with linux, you can mount a ramdrive. I want to then INSTALL windows to that ramdrive, and SOMEHOW boot to it, but upon reboot, RAM is wiped....So I'm at an impass...

DukeLeto 02-23-2003 09:15 PM

Palm Pilot?? Puh-lease, a regular pocket pc would be much cooler. I wish there were a way to do it, compile a kernel for the arm processor and be able to flash my ipaq, or my maestro.....hehehe.

trickykid 02-23-2003 10:54 PM

Quote:

Originally posted by Palin
what I would really love to do is run linux on a palm pilot :)
http://palm-linux.sourceforge.net/

and yes there are pocket pc's that run linux... take a look at the sharp zaurus for example..

Dark_Helmet 02-23-2003 11:19 PM

The answer to your problem lies not in regular SDRAM, but NVRAM (non volatile RAM). You would need a special motherboard to accomplish this. It's a technique used by expansion card manufacturers for a while. This is what happens:
1. The developer purchases some real-time OS to embed in their part.
2. They develop the firmware to integrate into the OS
3. They compile the whole thing, compress it, and store it in NVRAM.
4. Part of the compressed image contains the decompression routine, and when the part receives power, it decompresses the image into traditional RAM
5. Once decompression is complete, control is given to the image in RAM

NVRAM is programmable and keeps its contents after power loss. There's a problem with this though: you need to have all the data and applications you'll ever need contained in the NVRAM. Otherwise any changes you make would be stored in regular SDRAM and consequently lost when you turn the machine off. NVRAM CAN be reprogrammed, but it has a limited life span. Eventually it would refuse to take any more changes.

Aside from that, another choice would be to load the entire thing from a boot CD. At that point, you've lost your 5 second boot time and the ability to reprogram (unless it's RW of course). Not to mention the hassle of compressing and burning the CD every time you want to turn the machine off.

And the ONLY other alternative I could think would be a combination of data and application servers. You store a standard, stripped down version of Windows/Linux in NVRAM as described above including networking support. Then map drives/home directories to a central server. The system would boot quickly, you would be able to change data and applications, but the network would get congested if there are a lot of people using that server.

Daemonfly 02-23-2003 11:48 PM

If it's running on Linux (minimal?, just to get the ramdrive?) would you even need to reboot the PC?

I'm just brainstorming (and half asleep) :

Install Windows in the RAM drive, then copy it into a compressed backup file. When, and I mean WHEN, Windows crashes, just remake the ramdrive, uncompress the windows backup back into a ramdrive & continue on. Wouldn't Linux be able to kill the crashed "windows on a ram drive" and be able to resume without a reboot? You could leave Windows in the compressed file when not needed. This even possible?

DukeLeto 02-23-2003 11:56 PM

If I had someway to use nvram, load windows into it, have a harddrive, where all the changes and programs went, and also had some ddr, or sdram for regular swapping, this could easily work?

moses 02-24-2003 12:21 AM

My comments, if you care:

1) You need to figure out a way to install windows w/o rebooting
This has been done, see bochs.
2) You need to figure out a way to "boot" a new OS w/o
rebooting.
This has been done, see bochs.
3) You need to figure out a way to allow Linux to pass control
over to this new OS w/o destroying any of the memory that Linux
needs.
This has been done, see bochs.
3) You now need to figure out a way for this to not run stupidly
slow because you've used all the RAM for the OS.
Bochs doesn't load from ramdisk, just from a file on regular
disk, so there is still some memory available to the OS under
bochs. It's still stupidly slow.
4) You can't shutdown linux and reboot to windows once it's
been placed in RAM unless you have specialized hardware
that looks in RAM for a boot sequence, AND knows exactly
where to find the relevant data, and what to do with it (i.e., an
embedded device, not your typical PC).
5) A better solution may be to use a compact flash (or other)
device and boot from that. USB is currently limited to 480 Mb/s,
which is about 60 MB/s, which would mean you would need
about 10 seconds to boot, IF you could find a device that
had such a high transfer rate in reality.

Dark_Helmet 02-24-2003 12:39 AM

It's theoretically possible if you had enough NVRAM. I personally have never done it, but I have been involved in the real-time OS, firmware development routine I described earlier. Nothing would seem to be impossible from the outset, but at the same time, I could see things getting complicated quickly. Take application DLLs for example. Everybody and their cousin in the Windows world wants to throw DLLs in the windows\system directory. You'd have to manually move those DLLs to the directory the application resides in on the hard drive. Otherwise, you'd have to reinstall the app everytime you rebooted. I guess it's the same with regular old libraries in Linux. Another potential headache would be the registry.

The point is, I think it's possible. Easy? No.

I hope this is just a hypothetical discussion. If not, I would strongly suggest the routes mentioned by the others. I say that simply because you'd need lots of specialized hardware to do this. Having a complex OS like Windows or Linux boot to operational level in a matter of seconds is FAR from a trivial matter.

Electro 02-24-2003 01:16 AM

Yes you can do it. First download XMSdisk or something similar. Make a boot disk so that it creates a Ramdrive big enough to fit windows. XMSdisk can create a ram drive capacity up to 2 gigabytes. Then use a CD disc or hard drive that has a compress copy of windows. Next decompress windows into ramdrive and tell the bootloader to access the ramdrive when copying is done.

The realistic way is go to E-disk site and buy a hard drive there. However their hard drives cost several grand.

You can wait for holograhic storage to come to the public. Its transfer rate is over a few gigabytes per sec.

DukeLeto 02-24-2003 09:29 AM

I've got TWO new questions sparked by the bochs comment.
Firstly......I've got Virtual PC right now running on my Windows box. I want to, have always wanted to, find a way to boot to one of the hard disk images upon boot rather than using the emulator....
Does bochs offer a way to possibly do this? Boot to one of the disk images rather than booting to linux and using the emulator to start the os?
*full of stupid questions*


All times are GMT -5. The time now is 06:35 PM.