General TC > Tiny Core on Virtual Machines

problems getting tiny core 2.7 to mount virtual drive on boot with qemu.

(1/4) > >>

I use tiny core quite a bit as a guest on a windows box via the use of qemu/kqemu.

When I changed from tiny core 1 to tinycore 2.4 I had difficulties getting xvesa to load properly. To get around this I had to load Xorg-7.4.tczl from a folder on a virtual drive (hda/tce) on boot ( ).

Now I have changed from 2.4 to 2.7 and have noticed that my virtual drives are not mounted on boot. Consequently, Xorg-7.4 tczl is not loaded and I can't get to the desktop. I can get around this by typing at the prompt (which appears when x fails to load on boot):

sudo mkdir /mnt/hda
sudo mount /dev/hda /mnt/hda
tce-load -i /mnt/hda/tce/Xorg-7.4.tczl

...but this is a hassle and other useful stuff in mydata.tgz is not loaded on boot either.

This is the batch file that I use to start my tiny core vm if that may be of any help:

net start kqemu

START ./qemu/qemu -L ./qemu -vga cirrus -kernel-kqemu -no-acpi -m 512 -boot d -cdrom ./tinycore_2.7.iso -hda ./vdisk1.img -hdb ./vdisk2.img -hdd h:/TINYCORE_NTFS/vdisk3.img

Hopefully someone out there can help solve this problem. I'm a bit of a linux noob....but slowly getting there.

1. QEMU has gone through some changes from version to version, so to help you it's important to know which version of QEMU you're using under which version of Windows (some of the options you use indicate to me that you might be still using a rather old version).

2. Xvesa works fine for me since several QEMU versions (e.g. just did a quick test with an "ancient" v0.9.1). Please note that I'm not using "-vga cirrus". On a related thought: do you have any other reason (e.g. another TC application) that needs Xorg? What is the screen resolution of your host, and what screen resulution do you want to run your guest under?

3. What's the reason to use "-no-acpi"? I don't need it for my use of QEMU.

My hunch is that some of those options are maybe a requirement to operate Windows guests under QEMU, but might not be actually that helpful for running a TC guest.

Your mounting problems need some further troubleshooting, but to start it off I note that you want to mount /dev/hda (the whole disk) instead of a partition (e.g. /dev/hda1). I'm not (yet) sure whether that makes a difference in the automatic detection of the "tce" directory, but in any case it would be good if you could post your '/etc/fstab' file content here. BTW, please let us know what you use the three different (virtual) hard disks for.

Finally, I'd recommend to use at least v0.11.0 of QEMU and wonder what happens when you'd use a simplyfied version of your command like:
START ./qemu/qemu -m 512 -boot d -cdrom tinycore_2.7.iso -hda vdisk1.img -hdb vdisk2.img -hdd h:/TINYCORE_NTFS/vdisk3.img

As another rather personal note: Even though I still follow what's happening with QEMU relatively closely, I've changed to VirtualBox as my primary VM application. I still keep several versions of QEMU around and still use it regularly for certain tests. It's much easier to create a VM on-the-fly e.g. if I want to see as a one-off how TC behaves with four CD-ROM drives. Just a thought ...

Im using a binary of qemu 0.10.6 ( ) with kqemu version 1.4.0pre1 on an XP host.

I'm not so fussy about screen resolution on my host or guest. With my tiny core 2.4 setup I have 1280x1024 on the host and 1024x768 on the guest.

The problems with xvesa (and the requirements for -no-acpi and -vga cirrus in the batch and subsequently the Xorg-7.4.tczl extension) only occur when i use the -kernel-kqemu option in my batch file to speed things up. Without it things work fine.

Upon being returned to the prompt after the desktop fails to load with tinycore 2.7 the /etc/fstab contains /dev/hdc and /mnt/hdc (which contains the tiny core os) but not /dev/hda,b, or d or /mnt/hda/,b, or d.

Yes ..its a little strange that i have no partitions on my drives. I use a completely portable program called vdk32 to mount and access my drives from windows...but have had trouble accessing individual partitions with it...hence this workaround.

I use various virtual drives for either essential files or trouble shooting and i also have a large virtual drive on an NTFS partition as fat32 cannot accomodate large files that i often need to work with.

Hope thats enough info to help sort this out.


I don't use Qemu, so I may be off here but, where is the -append section to tell Tiny Core about the virtual disk? Perhaps it is not possible with -cdrom option and only supported with the -kernel option?

@roberts: As alternative to the QEMU options -boot d -cdrom tinycore_2.7.iso one could extract the kernel and the initrd from the ISO image and then use -kernel bzImage -initrd tinycore.gz -append "quiet max_loop=255". These two ways achieve as far as I can tell pretty much the same (the second one just circumvents the use of ISOLINUX to boot the CD-ROM). I'm fairly certain now that this is not an issue here. The use of something like -hda FILE1.img -hdb FILE2.img is fine in principle and should in theory work as intended.

As an update: I've now been able to reproduce at least the Xvesa failure for TC 2.x when using QEMU with -kernel-kqemu. I've also confirmed that TC 1.4.3 did not suffer from that issue. Doing 'Xvesa -listmodes' leads to a "Segmentation fault" for TC 2.x. My current theory is that libc (v2.9 in TC 2.x vs. v2.3.6 in TC 1.4.3) might cause the issue here, since the /usr/bin/Xvesa files seems to be identical when comparing TC 2.7 vs. TC 1.4.3.

Question for Robert here: Where on the web page would one find the link to the sources and the build script if one would want to rebuild Xvesa?

@quokka: I still have to test my hunch with the question of disk vs. partition inside the virtual disk images, but could you please supply the (full) results the following two commands from your VM: "blkid /dev/hd*" and "fdisk -l".


[0] Message Index

[#] Next page

Go to full version