General TC > Tiny Core on Virtual Machines

Virtual or Real

<< < (6/7) > >>

tclfan:

--- Quote from: vitex on January 04, 2010, 11:49:09 AM ---Suppose one installs TCL on a flash drive so TCL boots with a qemu virtual disk (tcvd=...) for persistent storage.  Suppose one also installs Windows and Linux versions of qemu on that same flash drive; the versions of qemu on Qemu Puppy only required a total of about 20 MB of space. 
Then TCL on that flash drive could be used in three modes:

* Boot on a bare machine.
* Execute on any Windows system using the version of qemu on the flash drive.
* Execute on any Linux system using the version of qemu on the flash drive.That would be real portability.

--- End quote ---
I do not think it works this easy in real life. I believe that running quemu as portable requires admin rights. It does need to install network drivers among other things that it does when you run it. In similar way, it would be very nice to have a portable version of VirtualBox that would not require admin rights, but it is not possible for the same reason at the moment...
In a word, it may look like it works this way for own machine, but will not work in general, performance and hardware requirements aside...

vitex:

--- Quote from: tclfan on January 05, 2010, 09:51:29 AM ---I do not think it works this easy in real life. I believe that running quemu as portable requires admin rights. It does need to install network drivers among other things that it does when you run it....

--- End quote ---

Here is a real-life example.  Boot the Tiny Core ISO and execute the following script, which extracts the statically linked version of qemu from the QEMU-Puppy distribution:


--- Code: ---#!/bin/sh

# Download Qemu Puppy.
[ -r "qemu-puppy-2.17-1.tar.gz" ] ||
wget  http://cdnetworks-us-1.dl.sourceforge.net/project/qemupuppy/QEMU-Puppy/QEMU-Puppy%202.17-1/qemu-puppy-2.17-1.tar.gz

# Extract the statically linked version of qemu for Linux.
tar xvzf qemu-puppy-2.17-1.tar.gz allinoneqemu_linux

# Add libasound, on which it depends.
tce-load -w -i libasound.tcz

# Download Micro Core
[ -r "microcore_2.7.iso" ] ||
wget ftp://distro.ibiblio.org/pub/linux/distributions/tinycorelinux/2.x/release/microcore_2.7.iso

# Boot Micro Core in a qemu virtual machine.
./allinoneqemu_linux -cdrom microcore_2.7.iso

--- End code ---

You should have Micro Core running in a qemu virtual machine.  Use "ab" at the Micro Core console to install a package, which verifies that the virtual machine has network access without installing any drivers on the host (Tiny Core) system.

Qemu is purely a user-mode program unless you install the kqemu accelerator or try to use some form of bridged networking.

tclfan:
Yes, indeed. It is bridged network and accelerator in quemu that require admin rights.
Thanks for reminding.

K_evin:

--- Quote from: vitex on January 05, 2010, 12:57:15 PM ---Qemu ...

--- End quote ---

Quemu ?? - never tried.

Is it able to create Internet connection, resizable window, auto mouse detection, folder sharing etc automatically just by installing an extension as it's done by VBox-OSE-additions.tcz for example?

vitex:
Qemu is does not provide the equivalent of VBox-OSE-additions.tcz.  It is basically a machine emulator with interfaces to the host OS.  The statically linked allinoneqemu_linux version of qemu is less than 1 MB in size.


* Internet connection
The default invocation qemu -m 128 -cdrom tinycore_2.7.iso lets the virtual machine connect with the outside world.  Adding the "-redir" option qemu -m 128 -cdrom tinycore_2.7.iso -redir tcp:22001::22 lets the host use its port 22001 to access port 22 on the virtual machine.  There are other networking options that let the virtual machine appear to be a real machine on your local network.

* Resizeable window
No, qemu makes no assumptions about the guest operating system, so has no way to tell X to resize a window.  The default invocation qemu -m 128 -cdrom tinycore_2.7.iso places the virtual machine's display in a host window that is not resizeable; its size is determined by the guest OS (e.g., xvesa=800x600x16).  Adding the -vnc :1 option connects the virtual machine's display to a VNC server within qemu.  You can resize the window of your VNC viewer, but that may cause you to have to scroll with VNC to see the full display.

* Automouse detection
Qemu passes mouse events on the host to the guest.

* Folder sharing
Qemu provides a SAMBA server through which the guest operating system can mount host directories.  I use sshfs to mount host directories on the virtual machine and virtual machine directories on the host.

See http://www.qemu.org/qemu-doc.html for more details.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version