Tiny Core Linux
General TC => Tiny Core on Virtual Machines => Topic started by: K_evin on January 02, 2010, 06:22:58 AM
-
Should TC better be installed within a virtual computer or on a hardware partition, if I want to try TC as second system on a modern PC with 1 GB RAM.
And which free virtual computer software is regarded to be the best.
-
Personally I vote for real. By default it is safe, as your NTFS partitions (guess you have WINDOWS installed) left intact and risk to demage your existing installation is very low. If you have a modern system it boots from USB. So just grab an USB stick and start playing.
Less work, more joy :)
But if yo want virtual, start with www.virtualbox.org (http://www.virtualbox.org)
-
... USB stick ... Less work, more joy :)
Really?
But could I use both systems in paralel? or at least switch between two stand by versions? - I fear, each switch would mean new booting what makes comparison so uncomfortable that you stop comparing soon.
I once created a Windows Rescue Boot CD. It was great I use it till today. But for me as non-expert it took damm lot time till that creation was working the way I wanted it.
I don't have the time now to do a similar adventure with an usb medium I'm not accustomed to.
So my plan was, first getting to know TC in the most fast and easy conventional way either by installing TC on a partition or as guest system of a virtual computer.
If I got you right you would prefer a virtual computer to a partition install.
-
I would use Windows to reduce the size of the partition. Then create an Ext3 partition, and a swap partition, in the free space for Tiny Core and install it.
Then set up the Grub bootloader for both.
That's my opinion. You do whatever you are happy with.
-
I would use Windows to reduce the size of the partition. Then create an Ext3 partition, and a swap partition, in the free space for Tiny Core and install it.
Then set up the Grub bootloader for both.
Thanks for your detailed answer.
So supposed I would succeed
- to aquire the expertise to change an existing partition
- to learn what's a swap partition
- to learn to set up a bootloader
What would be the advantage of using your solution compared to a virtual computer?
Maybe your solution would be a little bit faster - would that really make a big difference on modern hardware?
On the other hand using a virtual computer probably I can use both systems at the same time, whereas using partitions it seems impossible to exchange data between two running systems - only one system can be running at the same time.
So where do you see the advantage of installing TC on a partition instead as guest system of a virtual computer?
-
What you do depends on what you are trying to achieve?
Do you plan to keep Windows as your primary operating system, and just experiment with Tiny Core, or do you want to use Tiny Core as a serious operating system?
I started using Linux quite some time back to avoid viruses, and to avoid the need to buy Windows every time I bought a computer. (I will probably only buy notebooks in the future which normally come preinstalled with Windows). For several years I have only used free computers, which other people have discarded, for the internet.
In the early stages I had both installed, so I could use Windows if I didn't know how to do something in Linux?
For years I have only used Linux for the internet. In recent times, only Tiny Core.
I don't use Windows very much now. When I have Windows on a computer, it never gets connected to the internet, so it can never get a virus.
I have a notebook which came preinstalled with Windows. I did what I suggested to you, and also installed Linux.
If you install it on a separate partition, it remains separate, and keeps Windows unaffected.
Which version of Windows are you using? I resized the partition with Vista. There may be differences with other versions.
A swap partition is a partition on the hard drive the computer uses like extra ram. Windows automatically creates a swap file. With Linux it is normally a separate partition.
If you want to go ahead, a fair amount of information is on the wiki. You can ask questions about anything you don't know.
If you do use Grub, to start Windows you need.
title Windows
root (hd0,0)
makeactive
chainloader +1
The (hd0,0) may need to change, depending on which partition you use.
Another option as suggested, is to install Tiny Core on a usb drive, and leave the hard drive unaffected. Are you likely to want to stop using Linux, and go back to just using Windows in the future. If you are, a usb drive would be the best option.
It is up to you. I don't know how you think.
-
I don't care for using a virtual machine to test operating systems. The Windows overhead has always drastically slowed down the OS being tested when i have done it, and many features of the OS were hard for me to use in the virtual machine.
I think booting from a CD or (better) from a USB stick is a much better way to test out any version of Linux.
After a bit to testing, an installation on your hard drive is the way to go. A separate partition is nice to have (for lots of reasons). But in some cases Tiny Core Linux can coexist quite happily with other installations on a single partition. (That's probably hard to achieve on an NTFS partition.)
My short answer is that the easiest and safest and quickest way to test Tiny Core is to put it on a USB drive.
-
It really depends on your preference. The main advantage of using a system on bare metal is that it will have direct access to all of your hardware.
I think there's also some USB booting support in some vm solutions, such as vmware and qemu.
-
Do you plan to ... experiment with Tiny Core,
or do you want to use Tiny Core as ... operating system?
In fact that's a disadvantage of using a virtual machine, you don't get TC working as your main operating system.
If you need to start using a new operation system here and now, a virtual machine is no option for you.
But to my opinion in nearly any other case using a virtual machine is better for a newcomer than starting with usb and far better than using partitions.
Even if your target is usb or dual boot, first using a virtual machine brakes down the learning process, first step you learn how to handle TC and second step you can deal with specific questions of usb or partitions.
Both, usb and partitions, aren't trivial at all. Setting up usb can be problematic if you don't have a working internet connection during setup. And working on partitions can easily result in crashing your system and loosing all your data.
The Windows overhead has always drastically slowed down the OS being tested when i have done it, and many features of the OS were hard for me to use in the virtual machine.
That isn't my experience at all when using modern hardware.
True a virtual machine probably will be a little bit slower. Maybe somebody could post comparative measurements.
Calling TC homepage on my PC in Firefox seems to take about 0.2 sec in Windows and about 0.3 sec in a virtual machine hosted on Windows. That's 50% slower but nevertheless doesn't matter as 0.3 sec is fast enough for a nice user experience.
On the other hand using a virtual machine has got amazing advantages.
1. You don't need to waste time in learing new techniques like usb boot or resizing partitions but can start immediately just by installing the virtual machine.
2. You can work in parallel, you can go on using the system you are accustomed to and at the same time start working with TC Linux on the virtual machine. Thus you get an easy learning curve which might result in switching one day to a main TC Linux system.
3. You get a level of top web security no other solution comes up to, as the virtual machine offers the possibility to block out web risks by isolating them. Just use two virtual machines, one for crazy browsing and one for banking and no attacker triggered by crazy browsing can reach your real computer or your bank account.
(http://i48.tinypic.com/14dgadh.png)
-
For experimenting a VM is the easiest way.
On the other hand, it's not fair for any comparison with an OS running on the metal. A virtual machine will always be slower, sometimes will have bugs, and will not reflect the experience you would have running the OS on the metal.
Maybe install both TC and 7 in the same vendor's virtual machines, then it would be a fairer comparison ;)
-
Still I do not understand why is it easier for a newbie to
1) Learn what virtualization is
2) Install virtualization on WINDOWS
3) Learn virtalization environment
4) Install/configure TC
5) Learn TC
just to learn what TC is instead of just to make an USB stick?
More work, more new thing to learn.
And finally it is like a 'no fat, no sugar, no calories, no ...' coffee. Doesn't come close to a good Italian espresso :)
-
And finally it is like a 'no fat, no sugar, no calories, no ...' coffee. Doesn't come close to a good Italian espresso :)
With the fat, sugar, and calories right there on the table, waiting to be added if the customer wishes so ;)
-
1) Learn what virtualization is
2) Install virtualization on WINDOWS
3) Learn virtalization environment
4) Install/configure TC
5) Learn TC
A newbie following screenshots (http://forum.tinycorelinux.net/index.php?topic=4344.msg22857#msg22857) or even better my (coming soon) a ready made Virtual Machine Image
1) doesn't need to
2) not necessary, it's just clicking through the usual Windows setup
3) doesn't need to
4) probably that's necessary on usb but not when using a ready made VID
5) That is hopefully done on usb as well as on virtual machine
Maybe one day an automated script and a readable manual with screenshots will be available enabling a newcomer who never heard of usb to create a TC usb within less than an hour.
As long as there is only the Wiki manual (http://wiki.tinycorelinux.com/tiki-index.php?page=Installing+TC+on+USB) with more than 300 expert lines of bare text without a single screenshot I got the impression many newbies struggle one or two weekends till they get their usb espresso if they succeed at all.
-
If one wishes to use a pendrive, it does not take hours.
How difficult is it to burn a cd, boot from cd, run usbinstall?
Virtualization means having a large and powerfull computer.
So many, like me, do not own or cannot afford such things.
-
Virtualization means having a large and powerfull computer.
That's true, virtualization works best on modern hardware.
But older hardware isn't excluded. Above results (two virtual machines working in parallel) were achieved with an old 2.6 GHz AMD Athlon on 900 MB RAM - a system (case, mainboard, CPU, DVD, RAM) which will cost less than $300 without monitor
-
It is still cheaper to lose the cost of burning one cd than to buy even a used computer.
Don't ignore what is already provided in Core, the usbinstall script sets up the pendrive without the hassles of trying to do so with Windows utilities.
-
... sets up the pendrive without the hassles of ... Windows utilities.
That's great
Supposing it has to be done the Windows way and even so resulting in the need to possess years of preknowledge in using a terminal I never tried and thus didn't know.
I think it would be very helpful, if the core fact
an usb stick is created in three steps:
- burn CD with automated script
- start PC with that CD
- and the usb stick will be created automatically
would be made visible on first sight before starting the overload of 300 lines of expert text making many newcomers believe that it is useless to try.
So TC is great as well in
- setting up virtual machines for greater web security
- as in running a computer from an usb stick
A virtual machine setup can be automated that it works without preknowledge.
To automate the creation in a similar way resulting in
- a settings logic working without preknowledge*
- downloadable sample installs
would it be possible for an usb stick too?
_____________
* The control panel is a great approach to exchange GUI for terminal, but even so it's usage needs preknowledge - a barrier for newcomers.
To my opinion it's not so much the question of GUI or not GUI, it's more the question of creating a self explaining logic working for a newbie without any preknowledge - what's possible with jQuery like methods, presenting information just in time without producing masses of text making 99% of newbies run away.
-
Tiny Core is not a turnkey desktop system. If newbie means it must look like Windows, operate like Windows, run inside Windows, and be aware of Windows utilities, then sorry. I don't run Windows. I have no interest in Windows.
IMHO it is wrong to make Linux Windows-like for the sake of newbies. As I have stated many times, if newbies need a windows like Linux, there are distributions that accomodate.
I think it is far more important and interesting to explore alternate ways to run an operating system. It is why I am here and why I and the Team put forth the effort.
If some feel that there is a steep learning curve here, it mainly because of preconceived ideas which are expected when most all operating system have and continue to offer the same basics.
Tiny Core's progress has been fast and continues to be, as such documentation is always behind.
But if those who can document, screen-drop, and or, make narrated videos would; it would be more helpful than trying to make Tiny Core Windows friendly.
BTW the pendrive installation is on the menu. It is about as simple as it gets.
-
I think it would be very helpful, if the core fact
an usb stick is created in three steps:
- burn CD with automated script
- start PC with that CD
- and the usb stick will be created automatically
would be made visible on first sight before starting the overload of 300 lines of expert text making many newcomers believe that it is useless to try.
Um... USB installer script aside, I've used the manual installation guide on the tinycore website a couple of times, and those instructions are clear and easy enough that there are only to skills needed to install tinycore (And as such, I have no idea why people have so much trouble - I can understand people who do not have strong english skills struggling, but for the rest of the strugglers, well...)...
* English Comprehension
* Ability to follow instructions
Nor do I remember the instructions taking 300 lines.
* The control panel is a great approach to exchange GUI for terminal, but even so it's usage needs preknowledge - a barrier for newcomers.
To my opinion it's not so much the question of GUI or not GUI, it's more the question of creating a self explaining logic working for a newbie without any preknowledge - what's possible with jQuery like methods, presenting information just in time without producing masses of text making 99% of newbies run away.
Think back to your first experience with windows. Did you just sit down in front of a windows machine and do everything without needing any help? No? Didn't think so.
Imagine you spent all your life working with Linux. Suddenly you need to start using Windows. It's going to be JUST as daunting to start learning windows as it is for others to start learning Linux. (I've actually run into this problem myself recently. When vista came out, I skipped it and moved to linux, now suddenly I have family members who want help with windows 7!)
-
I've used the manual installation guide on the tinycore website a couple of times, and those instructions are clear ...
You are absolutely right, the website Installation Guide (http://www.tinycorelinux.com/install.html) is a perfect example for a user friendly kind of Linux.
Imagine you spent all your life working with Linux. Suddenly you need to start using Windows. It's going to be JUST as daunting to start learning windows ...
That's true too. It's not only Linux it's Windows too what needs to aquire several levels of user friendliness if it want's to be a mainstream operating system still in the year 2020.
In fact Im not arguing for or against Windows but for a more user friendly Linux.
Nor do I remember the instructions taking 300 lines.
It's a pity. Tinycore developers create so much great goodies, but many newcomers can't use them because nobody tells them where to find and how to use.
Let's take the example of the pendrive. Unfortunately there is no user friendly Installation Guide like the harddrive one.
The only Giude I know of is the 'Installing TC on USB (http://wiki.tinycorelinux.com/tiki-index.php?page=Installing+TC+on+USB)' Guide in Wiki, which following 'WordCount' got 1,484 words in 316 lines in 111 paragraphs.
After stumbling upon a table of content signalizing that it's so much stuff that a table of content is necessary and stumbling upon general notes making confusion even greater Im glad to reach the title '2. usbinstall script: Installing within TC'.
No word until now, that I need to create a cd and that the cd will create the pendrive automatically, as explained above 'burn a cd, boot from cd, run usbinstall (http://forum.tinycorelinux.net/index.php?topic=4482.msg23614#msg23614)'
But never mind, at least an 'usb install script' is mentioned. Im advised
It can be found in the menu (Tools -> Usb install) (http://wiki.tinycorelinux.com/tiki-index.php?page=Installing+TC+on+USB)
So I visit my TC menu:
(http://i50.tinypic.com/2ziart2.png)
But there is no usb install script :(
Normal user reaction: 'That's just Linux, maybe the word 'menu' is used with a different meaning, some secret stuff I never will be able to understand. So forget about.
That's one of the reasons why screenshots are a must if you want to create a viable Guide. Only screenshots can prevent the common misunderstandings.
Screenshots can even prevent the misunderstandings caused by errors of the author himself, as this example demonstrates.
A screenshot would show, that the Tools menu of the default TC installation looks different and contains a line which reads 'USB Installation'.
So the newcomer instead of running away would visit the forum and ask where is the 'USB Installation' menu line in icewm - and the error could be solved.
Without screenshots such Guide is kind of useless for newcomers.
But it's not screenshots alone, it's more what's needed for user friendlyness.
(http://i45.tinypic.com/mshh52.png)
The starting screen of the script is quite informative, but a newcomer would need 2-3 sentences of background information (not within the script, but as 'USB Installation Guide' on the website or in the Wiki
2-3 meaningfull sentences only with screenshots attached and USB install would be as user friendly as the harddrive Install Guide already is.
-
If you are going to complain about missing menu items, you should check the base system.
It is there, Tools->USB_Installation. So you should post in the tce area so that the extension you choose to use can be updated.
Tiny Core would not be tiny. if we offer man pages and extensive embedded documentation. Such is better off-line.
The Wiki is user documentation for and by users. So instead of complaing, how about contributing?
-
That's true, virtualization works best on modern hardware.
But older hardware isn't excluded. Above results (two virtual machines working in parallel) were achieved with an old 2.6 GHz AMD Athlon on 900 MB RAM...
Your machine specs are still a powerful machine in my opinion. Using powerful machines to do things does not impress me and I was able to do the same in much older and modest hardware. I have been using virtualization (VMware) on Thinkpad T23 - 1.13Ghz with 512M memory on XP host with modest hardware demanding guest machines (such as XP). Recently I started using VirtualBox to migrate from VMware and it looks like equally good. I have not had the time yet to create a TCL VDI (process outlined by JoXo009), but to me to me discussion comparing whether to run TCL on bare hardware or in VM is comparing apples and oranges. It all depends on your objectives and purpose.
TC is meant as a high performance small modular system to run on bare metal and it is primary for TCL as OS. But it can be also made as VM guest, if you need/want to run in virtualized environment, e.g. for parallel systems. It is not one way vs. the other, but only depends on purpose and your intended topology you want to use.
I have been using TCL on USB stick and it works beautifully and very easy to install following the TCL 'usbinstall' procedure, which I recommend vs. unetbootin, which I also tried. I am looking forward to also building a VirtualBox TCL VM ones I get some time soon...
With both having their own merits uses, just to point out some thoughts:
1. You can put a TCL usb stick in any machine and boot TC as tiny high performance, all-in-memory system. Fully configured LiveCD would be even better, since some machines will not boot from USB... You cannot do such thing with TCL VM - you need to install a VirtualBox or VMplayer first and you may not be able to do that, of course...
2. In virtualized environment you can run TCL VM in parallel with the host OS and other OSs in their own VMs. You cannot do that with a TCL usb stick...
3. Performance in TCL VM will greatly depend on what host OS you are using and if you use type I bare metal hypervisors such as ESXi or Xen, then performance will be very close to running TCL natively on bare metal. If you use a type II hypervisor, such as VMplayer of VirtualBox, then performance will be affected depending on the host system.
In a word - all depends on your purpose...
-
1. You can put a TCL usb stick in any machine and boot TC as tiny high performance, all-in-memory system. Fully configured LiveCD would be even better, since some machines will not boot from USB... You cannot do such thing with TCL VM - you need to install a VirtualBox or VMplayer first and you may not be able to do that, of course...
See the Qemu Puppy project http://www.erikveen.dds.nl/qemupuppy/ (http://www.erikveen.dds.nl/qemupuppy/).
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.
-
However, the older machines that cannot boot from USB, would also be the same machines that struggle to run Qemu, or other virtual machines.
-
Perhaps those with such older machine that cannot boot from USB and are not powerfull enough to run virtual machines may want to peruse: http://forum.tinycorelinux.net/index.php?topic=354.0
-
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.
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...
-
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....
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:
#!/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
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.
-
Yes, indeed. It is bridged network and accelerator in quemu that require admin rights.
Thanks for reminding.
-
Qemu ...
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?
-
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 (http://www.qemu.org/qemu-doc.html) for more details.
-
Thanks for your detailed answers.
If I got it right best start for a newbie with a cheap 1 GB RAM Windows homePC like me seems to be:
- either experiment with usb to create a kind of independent rescue install
- or install Virtual Box with GAs to work with Windows and Tinycore in parallel
I searched for a virtual disk image which could simplify the creation of a Tinycore system within Virtual Box and possibly found a link: [removed: remaster]
Has anyone got experience whether that file can be used not only for browsing but to create a virtual system with folder sharing, file manager etc working 'within less than an hour' for a newbie like me what is the argument there.